@charset "utf-8";
:root {
    --font-base: 'Pretendard', 'Nanum Gothic', 나눔고딕, Malgun Gothic, 맑은고딕, 굴림, 돋움, Dotum, Helvetica, AppleSDGothicNeo, sans-serif;
    --font-landing: 'Paperlogy','Pretendard','Nanum Gothic',나눔고딕,Malgun Gothic,맑은고딕,굴림,돋움,Dotum,Helvetica,AppleSDGothicNeo,sans-serif;
    --font-size : 16px;
    --primary-text:#b8cf2f;
    --primary-bg:#c4d931;
    --primary-gradient:linear-gradient(135deg, #b0c72d 0%, #c2d635 100%);
    --black-bg:#2b2926;
    --accent-gradient:linear-gradient(135deg, #ff8c00 0%, #ff9a1a 50%, #ffa233 100%);
    --it-gradient:linear-gradient(170deg, #c3d0ff 0%, #dbb8f0 45%, #fad4e8 100%);
    --grey-gradient:linear-gradient(165deg, #e8dfd8 0%, #ede5e0 30%, #f2ebe6 55%, #f6f0eb 78%, #faf5f1 100%);
    --black-gradient:linear-gradient(160deg, #24221f 0%, #2f2c28 50%, #26231f 100%);
    --semi-black-gradient: linear-gradient(160deg, #36322e 0%, #413c36 50%, #39342f 100%);
    --white-gradient:linear-gradient(170deg, #f0edff 0%, #ffffff 35%, #fff4e6 70%, #ffffff 100%);
    --accent-text:#ff9200;
    --accent-bg:#ff9200;
    --grey-text-200:#b7b1a8;  /* disabled / placeholder 용도 */
    --grey-text-300:#a09a92;
    --grey-text-400:#8a847c;  /* 기본값 - 보조 텍스트 */
    --grey-text-500:#746e66;  /* 더 진한 보조 텍스트 — 강조 라벨/메타 */
    --grey-line-200:#f2ede6;  /* 가장 옅은 라인 — #f0f0f0 대체용 (warm 톤) */
    --grey-line-300:#e3ded7;  /* 더 옅은 구분선 — subtle divider */
    --grey-line-400:#d4cfc8;  /* 기본값 - 구분선/보더용 */
    --grey-line-500:#c5c0b9;  /* 강조선 */
    --grey-line-600:#b6b1aa;  /* 진한 라인 */
    --grey-line-700:#a7a29b;  /* 더 강한 라인 — focus/pressed/selected state */
    --grey-bg-300:#f9f6f3;
    --grey-bg-400:#f7f4f0;
    --grey-bg-500:#f5f2ed;
    --base-text:#2b2926;
    --link-text:#2090c4;
    --error-text:#c43838;
}

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

html, body{
    font-family: var(--font-base); font-weight: 400;
}
pre{
    font-family: var(--font-base);
}

body, p, h1, h2, h3, h4, h5, h6,
ul, ol, li, dl, dt, dd,
table, th, td,
form, fieldset, legend,
input, textarea, button, select {
    margin: 0;
    padding: 0;
}

p, h1, h2, h3, h4, h5, h6,
ul, ol, li, dl, dt, dd,
form, fieldset, legend,
input, textarea, button, select {
    text-align: left;
}

body,
input, textarea, select, button,
table, div.note-frame {
    font-family: var(--font-base);
    font-size: 16px;
    font-weight: 400;
    color: var(--base-text, #2e2a26);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    line-height: 1;
}

strong, b   { font-weight: 700; }
img         { display: block; max-width: 100%; border: 0; }
fieldset    { border: 0; }
ul, ol      { list-style: none; }
em, address { font-style: normal; }
table       { border-collapse: collapse; }

a               { text-decoration: none; color: inherit; }
a:active,
a:focus,
a:hover         { text-decoration: none; outline: none; }

button {
    background-color: transparent;
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}
