:root {
    --primary: #0066CC;
    --primary-dark: #004499;
    --navy-tech: #004499;
    --black: #000000;
    --white: #FFFFFF;
}

* {
    font-family: 'JetBrains Mono', monospace;
}

.manual-border {
    border: 2px solid var(--black);
    border-radius: 0;
}

.manual-border-white {
    border: 2px solid var(--white);
    border-radius: 0;
}

.manual-shadow {
    box-shadow: 4px 4px 0 0 var(--black);
}

.manual-shadow-white {
    box-shadow: 4px 4px 0 0 var(--white);
}

.btn-press:active {
    transform: translate(2px, 2px);
    box-shadow: 2px 2px 0 0 var(--black);
}

.grid-dotted {
    background-image: radial-gradient(circle, var(--black) 1px, transparent 1px);
    background-size: 20px 20px;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
}

::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    background: var(--white);
    border-left: 2px solid var(--black);
}

::-webkit-scrollbar-thumb {
    background: var(--primary);
    border: 2px solid var(--black);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--primary-dark);
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 0.3s ease-out;
}

.htmx-request {
    opacity: 0.7;
    pointer-events: none;
}

@media (max-width: 768px) {
    html { font-size: 14px; }
}
