@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    src: local(''), url('/fonts/Inter.ttf') format('truetype');
}

:root {
    /* 60-20-10 Rule: 60% base, 20% surfaces, 10% accents */
    
    /* Base (60%) - Dominant backgrounds */
    --base:     #171a1f;
    --mantle:   #20242a;
    --crust:    #121419;
    
    /* Surfaces (20%) - Cards, sidebars, inputs */
    --surface0: #262b32;
    --surface1: #323841;
    --surface2: #3a414b;
    
    /* Text hierarchy */
    --overlay0: #6b7280;
    --overlay1: #9ca3af;
    --subtext0: #b8bcc4;
    --subtext1: #d4d8de;
    --text:     #e8eaed;
    
    /* Accents (10%) - Interactive elements */
    --blue:     #4b8df8;
    --lavender: #7aa6ff;
    --sapphire: #2563eb;
    --teal:     #14b8a6;
    --green:    #22c55e;
    --mauve:    #a78bfa;
    --pink:     #ec4899;
    --peach:    #f97316;
    --red:      #ef4444;
    --yellow:   #eab308;

    color-scheme: dark;
    font-size: 15px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    background: var(--base);
    color: var(--text);
    min-height: 100%;
}

::selection {
    background: var(--blue);
    color: white;
}

/* Scrollbar styling */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: var(--surface1);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--surface2);
}

/* Focus states */
:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 2px;
}

/* Button reset */
button {
    font-family: inherit;
}

/* Link reset */
a {
    color: var(--blue);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Input reset */
input, textarea {
    font-family: inherit;
}

input::placeholder, textarea::placeholder {
    color: var(--overlay0);
}
