:root {
    --pointcolor: #4ebeab;
    --pointdark:  #3da997;
    --subcolor:   #1a1a1a;
    --backcolor:  #fafafa;
    --dark-gray:  #555555;
    --gray:       #888888;
    --light-gray: #e5e7eb;
    --border-col: #ebeef2;
}


/* Base Font */
#bo_w, #bo_gall, #bo_v,
h1, h2, h3, h4, h5, h6, input, select, button
{
    font-family: "Pretendard", "Noto Sans", "Malgun Gothic", sans-serif;
    color: var(--subcolor);
    letter-spacing: -0.02em;
    word-break: keep-all;
}

/* Utility Colors & Fonts */
.point-color { color: var(--pointcolor) !important; }
.point-bg    { background-color: var(--pointcolor) !important; color: #fff !important; }
.sub-color   { color: var(--subcolor) !important; }
.color-gray  { color: var(--gray) !important; }
.color-dark  { color: var(--dark-gray) !important; }
.border-box  { border: 1px solid var(--border-col); background: #fff; }

/* Flex Helpers */
.d-flex { display: flex; }
.flex-wrap { display: flex; flex-wrap: wrap; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.justify-end { justify-content: flex-end; }
