/* CSS 스타일은 이전과 동일하게 유지됩니다 */
:root {
    --primary-color: #007bff;
    --secondary-color: #6f42c1;
    --success-color: #198754;
    --warning-color: #fd7e14;
    --danger-color: #dc3545;
    --info-color: #20c997;
    --light-gray: #f8f9fa;
    --medium-gray: #e9ecef;
    --dark-gray: #6c757d;
    --darker-gray: #495057;
    --darkest-gray: #343a40;
    --text-color: #333;
    --heading-color: #212529;
    --white-color: #ffffff;
    --body-font: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --base-font-size: 16px;
    --border-radius: 0.5rem;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: var(--body-font);
    line-height: 1.7;
    color: var(--text-color);
    background-color: var(--light-gray);
    font-weight: 400;
    font-size: var(--base-font-size);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.container { max-width: 1140px; margin: 0 auto; padding: 0 15px; }
a { text-decoration: none; color: var(--primary-color); transition: all 0.2s ease; }
a:hover { color: #0056b3; text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; vertical-align: middle; }
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    color: var(--heading-color);
    line-height: 1.4;
    margin-bottom: 1rem;
    margin-top: 2rem;
}
h1 {
    font-size: 2.25rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.5rem;
    margin-top: 2.5rem;
    color: var(--primary-color);
}
h2 {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--secondary-color);
    border-bottom: 2px solid var(--medium-gray);
    padding-bottom: 0.75rem;
    margin-bottom: 1.5rem;
    margin-top: 3rem;
}
p { margin-bottom: 1.2rem; color: var(--darker-gray); }
p:last-child { margin-bottom: 0; }
ul { list-style: none; padding-left: 0; margin-bottom: 1.2rem; }
li { margin-bottom: 0.75rem; }

section { padding: 1rem 0; }

.content-section {
        background-color: var(--white-color);
        border: 1px solid var(--medium-gray);
        border-radius: var(--border-radius);
        padding: 2rem;
        box-shadow: 0 3px 7px rgba(0,0,0,0.05);
        margin-bottom: 2.5rem;
}

.text-center { text-align: center; }

/* --- 헤더 스타일 --- */
.header { background-color: var(--white-color); padding: 1rem 0; border-bottom: 1px solid var(--medium-gray); position: sticky; top: 0; z-index: 1030; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.header .container { display: flex; justify-content: space-between; align-items: center; }
.header .logo a { font-size: 1.75rem; font-weight: 700; color: var(--darkest-gray); }

/* --- Breadcrumb 스타일 추가 --- */
.breadcrumb {
    background-color: var(--medium-gray);
    padding: 0.75rem 0;
    font-size: 0.9rem;
}
.breadcrumb a { color: var(--dark-gray); }
.breadcrumb a:hover { color: var(--primary-color); }
.breadcrumb span { margin: 0 0.5rem; color: var(--dark-gray); }
.breadcrumb strong { color: var(--darkest-gray); font-weight: 600; }

/* 블로그 포스트용 추가/수정 스타일 */
.post-intro { margin-bottom: 2rem; text-align: left; color: var(--dark-gray); font-size: 1.05rem; line-height: 1.8; }
.info-note { background-color: #e7f3ff; border-left: 5px solid var(--primary-color); padding: 1rem 1.5rem; margin: 2rem 0; border-radius: 0.25rem; font-size: 0.95rem; }
.info-note strong { color: var(--primary-color); }
.warning-note { background-color: #fff3cd; border-left: 5px solid var(--warning-color); padding: 1rem 1.5rem; margin: 2rem 0; border-radius: 0.25rem; font-size: 0.95rem; }
.warning-note strong { color: #856404; font-weight: 600; }
.warning-text { color: var(--danger-color); font-weight: 600; }
.url-example { background-color: var(--medium-gray); padding: 0.8rem 1.25rem; border-radius: var(--border-radius); font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 0.95rem; color: var(--darkest-gray); word-break: break-all; margin: 1.5rem 0; border: 1px solid #ced4da; line-height: 1.5; }
.url-component-list { margin-top: 1.5rem; }
.url-component-list li { margin-bottom: 1.2rem; padding-left: 0; line-height: 1.8; }
.url-component-list strong { font-weight: 600; color: var(--secondary-color); margin-right: 0.5em; display: block; margin-bottom: 0.25rem; }
.url-component-list code { background-color: var(--medium-gray); padding: 0.1em 0.4em; border-radius: 3px; font-size: 0.9em; color: var(--darker-gray); font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; }
.url-component-list ul { margin-top: 0.75rem; padding-left: 1.5rem; border-left: 2px solid var(--medium-gray); }
.url-component-list ul li { margin-bottom: 0.5rem; font-size: 0.95rem;}
code.inline-code { background-color: rgba(0, 123, 255, 0.08); padding: 0.15em 0.4em; border-radius: 3px; font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 0.9em; color: var(--primary-color); }
strong.highlight { color: var(--secondary-color); font-weight: 600; }

/* 반응형 스타일 */
@media (max-width: 992px) {
    h1 { font-size: 2rem; } h2 { font-size: 1.6rem; }
}
@media (max-width: 768px) {
    body { font-size: 15px; }
    .container { max-width: 100%; padding: 0 10px; }
    h1 { font-size: 1.8rem; margin-top: 2rem; }
    h2 { font-size: 1.5rem; margin-top: 2.5rem; }
    .content-section { padding: 1.5rem; margin-bottom: 2rem; }
}