/* ============================================================
   MAIN.CSS — Reset, Variables, Base
   ============================================================ */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --bg-primary: #0f1419;
    --bg-secondary: #16202b;
    --bg-tertiary: #1e2a38;
    --bg-card: #16202b;
    --text-primary: #e8eaed;
    --text-secondary: #a8adb5;
    --text-muted: #7c8794;
    --accent: #ff4757;
    --accent-hover: #ff6a7f;
    --primary: #3b82f6;
    --primary-hover: #60a5fa;
    --success: #10b981;
    --warning: #f59e0b;
    --border: #2d3a4a;
    --border-light: #3e4a5c;
    --shadow: rgba(0,0,0,0.4);
    --grid-color: rgba(255,255,255,0.03);
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../assets/fonts/PlusJakartaSans-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../assets/fonts/PlusJakartaSans-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

body {
    font-family: 'Plus Jakarta Sans', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--bg-primary);
    color: var(--text-primary);
    overflow: hidden;
    height: 100vh;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#app {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

/* Better mobile interaction defaults */
button,
a,
[role="button"],
input,
select,
textarea,
.tab-btn,
.yaml-tab,
.arch-menu-item,
.tb-mini-btn,
.tb-add-btn,
.tb-project-item {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
