/*-- -------------------------- -->
<---    LifeOS Base Styles     -->
<--- -------------------------- -*/

/* Typography, resets, and foundational styles
 * Source: mockup lines 68-81 and general best practices
 */

/* Inter Variable Font Declaration */
@font-face {
    font-family: 'Inter';
    src: url('/assets/fonts/inter-variable.woff2') format('woff2');
    font-weight: 100 900;
    font-display: swap;
    font-style: normal;
}

/* Global Resets */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    overflow-x: hidden;
}

/* Body Styles */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
}

/* Scrollbar Hiding Utility */
.scrollbar-none::-webkit-scrollbar {
    display: none;
}

.scrollbar-none {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

/* Typography Defaults */
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-weight: 700;
    color: hsl(var(--foreground));
}

p {
    margin: 0;
    line-height: 1.5;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    font-family: inherit;
    cursor: pointer;
}

/* Focus Visible for Accessibility */
*:focus-visible {
    outline: 2px solid hsl(var(--ring));
    outline-offset: 2px;
}
