:root {
    --orange: #FF5F00;
    --black: #0A0A0A;
    --slate: #111111;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    margin: 0;
    padding: 0;
}

body {
    font-family: Oswald, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
    background: var(--black);
    margin: 0;
    padding: 0;
    min-height: 100vh;
    width: 100%;
}

.mono {
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.grid-overlay {
    background-image: radial-gradient(rgba(255, 255, 255, .9) 1px, transparent 1px);
    background-size: 28px 28px;
}

.noise {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="160" height="160" viewBox="0 0 160 160"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency=".9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="160" height="160" filter="url(%23n)" opacity=".35"/></svg>');
}

.focus-ring:focus {
    outline: 2px solid var(--orange);
    outline-offset: 2px;
}

/* One-Click Text Feature Styles */
@keyframes pulse-orange {
    0% { box-shadow: 0 0 0 0 rgba(255, 95, 0, 0.4); }
    70% { box-shadow: 0 0 0 15px rgba(255, 95, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 95, 0, 0); }
}

.animate-pulse-orange {
    animation: pulse-orange 2s infinite;
}

.fab-shadow {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5);
}

#smsModal.hidden {
    display: none;
}