* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.6;
    overflow-x: hidden;
    transition: var(--transition);
    min-height: 100vh;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}

/* Hide default cursor on desktop */
@media (pointer: fine) {
    body, a, button, input, .terminal-input { cursor: none; }
}

.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
a { text-decoration: none; color: inherit; transition: var(--transition); }

code {
    font-family: 'Fira Code', monospace;
    background-color: var(--bg-secondary);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.9em;
    color: var(--accent);
}

h1, h2, h3, h4 { font-weight: 700; line-height: 1.2; }
.text-accent { color: var(--accent); }

.section-header { text-align: center; margin-bottom: 60px; }
.section-title { font-size: 2.5rem; margin-bottom: 15px; }
.section-subtitle { font-size: 1.1rem; color: var(--text-secondary); max-width: 600px; margin: 0 auto; }

/* Global Themed Scrollbars */
html {
    scrollbar-width: thin;
    scrollbar-color: var(--accent) var(--bg-secondary);
}
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg-secondary); }
::-webkit-scrollbar-thumb { 
    background-color: var(--accent); 
    border-radius: 5px; 
    border: 2px solid var(--bg-secondary); 
}
::-webkit-scrollbar-thumb:hover { background-color: var(--accent-secondary); }