:root {
    --oao-void: #000000;
    --oao-obsidian: #1b1c1e;
    --oao-shadow: #121314;
    --oao-graphite: #25292e;
    --oao-slate: #2f3334;
    --oao-carbon: #353a3b;
    --oao-pewter: #646566;
    --oao-fog: #95979c;
    --oao-snow: #ffffff;
    --oao-mist: #f0f1f5;
    --oao-signal-blue: #0e76fd;
    --oao-electric-violet: #7a70ff;
    --oao-deep-iris: #38228f;
    --oao-success: #47c97b;
    --oao-warning: #ffb45d;
    --oao-danger: #ff6b65;
    --oao-font-ui: Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --oao-font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
    --oao-page-max: 1200px;
    --oao-space-4: 4px;
    --oao-space-8: 8px;
    --oao-space-12: 12px;
    --oao-space-16: 16px;
    --oao-space-20: 20px;
    --oao-space-24: 24px;
    --oao-space-32: 32px;
    --oao-space-40: 40px;
    --oao-space-48: 48px;
    --oao-space-64: 64px;
    --oao-space-80: 80px;
    --oao-space-112: 112px;
    --oao-radius-control: 12px;
    --oao-radius-surface: 24px;
    --oao-radius-pill: 9999px;
    --oao-shadow-float: 0 8px 24px rgba(0, 0, 0, 0.4);
    --oao-shadow-inset: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
    --oao-focus-ring: 0 0 0 4px rgba(255, 255, 255, 0.92);
    --oao-header-height: 64px;
}

body.theme-oao-void {
    margin: 0;
    background: var(--oao-void) !important;
    color: var(--oao-snow);
    font-family: var(--oao-font-ui);
    letter-spacing: 0;
    overflow-x: hidden;
}

body.theme-oao-void *,
body.theme-oao-void *::before,
body.theme-oao-void *::after {
    box-sizing: border-box;
    letter-spacing: 0 !important;
}

body.theme-oao-void ::selection {
    background: var(--oao-signal-blue);
    color: var(--oao-snow);
}

body.theme-oao-void :focus-visible {
    outline: none;
    box-shadow: var(--oao-focus-ring) !important;
}

body.theme-oao-void a,
body.theme-oao-void button,
body.theme-oao-void input,
body.theme-oao-void select,
body.theme-oao-void textarea {
    font-family: inherit;
}

body.theme-oao-void code,
body.theme-oao-void pre,
body.theme-oao-void kbd,
body.theme-oao-void samp {
    font-family: var(--oao-font-mono);
}

body.theme-oao-void::-webkit-scrollbar,
body.theme-oao-void *::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

body.theme-oao-void::-webkit-scrollbar-track,
body.theme-oao-void *::-webkit-scrollbar-track {
    background: #08090a;
}

body.theme-oao-void::-webkit-scrollbar-thumb,
body.theme-oao-void *::-webkit-scrollbar-thumb {
    border: 2px solid #08090a;
    border-radius: var(--oao-radius-pill);
    background: #3a3d42;
}

@media (max-width: 768px) {
    :root {
        --oao-header-height: 56px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.theme-oao-void *,
    body.theme-oao-void *::before,
    body.theme-oao-void *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
