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

:root {
    /* Font Families */
    --font-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu', 'Cantarell', 'Helvetica Neue', sans-serif;
    --font-japanese: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
    --font-display: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    --font-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;

    /* Color palette */
    --primary-blue: #0066ff;
    --primary-dark: #0052cc;
    --accent-orange: #ff9500;
    --accent-yellow: #ffcc00;
    --text-dark: #1a1a1a;
    --text-gray: #666666;
    --text-light: #999999;
    --bg-white: #ffffff;
    --bg-light: #f8f9fa;
    --bg-gray: #f5f5f5;
    --border-light: #e5e5e5;
    --shadow-light: rgba(0,0,0,0.05);
    --shadow-medium: rgba(0,0,0,0.1);
    --shadow-dark: rgba(0,0,0,0.15);
}

/* Global Styles */
body {
    font-family: var(--font-primary), var(--font-japanese);
    font-size: 16px;
    line-height: 1.7;
    color: var(--text-dark);
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    background: var(--bg-white);
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display), var(--font-japanese);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
