/* BookShook Design Tokens */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
    /* Colors */
    --bs-void: #0a0609;
    --bs-plum: #1a0b1c;
    --bs-plum-mid: #2d1f30;
    --bs-lavender: #f4f1f6;
    --bs-lavender-dark: #e8e3ed;
    --bs-cream: #faf9f7;
    --bs-white: #ffffff;

    --bs-teal: #008080;
    --bs-teal-light: #00a89d;
    --bs-pink: #e8a0b4;
    --bs-pink-bright: #ff6b9d;
    --bs-pink-soft: #ffd4e0;

    --bs-text-dark: #1a0b1c;
    --bs-text-muted: #6b5b6e;
    --bs-text-light: #f4f1f6;
    --bs-text-dim: rgba(244, 241, 246, 0.7);

    /* Typography */
    --bs-font-serif: 'Playfair Display', Georgia, serif;
    --bs-font-sans: 'DM Sans', -apple-system, sans-serif;
    --bs-font-mono: 'JetBrains Mono', monospace;

    /* Type Scale */
    --bs-fs-xs: 0.75rem;
    --bs-fs-sm: 0.875rem;
    --bs-fs-base: 1rem;
    --bs-fs-md: 1.125rem;
    --bs-fs-lg: 1.25rem;
    --bs-fs-xl: 1.5rem;
    --bs-fs-2xl: 2rem;
    --bs-fs-3xl: 2.5rem;
    --bs-fs-4xl: 3.5rem;
    --bs-fs-5xl: 5rem;

    /* Spacing */
    --bs-space-xs: 0.5rem;
    --bs-space-sm: 1rem;
    --bs-space-md: 1.5rem;
    --bs-space-lg: 2rem;
    --bs-space-xl: 3rem;
    --bs-space-2xl: 5rem;
    --bs-space-3xl: 8rem;

    /* Animation */
    --bs-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --bs-duration: 0.8s;

    /* Radius */
    --bs-radius-sm: 8px;
    --bs-radius-md: 12px;
    --bs-radius-lg: 20px;
    --bs-radius-full: 100px;
}

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

body {
    margin: 0;
    background: var(--bs-lavender);
    color: var(--bs-text-dark);
    font-family: var(--bs-font-sans);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

a {
    color: inherit;
    text-decoration: none;
}

/* Container */
.bs-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--bs-space-lg);
}
