﻿* { margin: 0; padding: 0; box-sizing: border-box; }
:root { --bg-color: #f8f9fa; --text-color: #212529; --heading-color: #343a40; --border-color: #e9ecef; --link-color: #000; --subtext-color: #6c757d; --button-text-color: #212529; }
[data-theme="dark"] { --bg-color: #212529; --text-color: #f8f9fa; --heading-color: #e9ecef; --border-color: #495057; --link-color: #f8f9fa; --subtext-color: #adb5bd; --button-text-color: #f8f9fa; }

body { font-family: Arial, sans-serif; background-color: var(--bg-color); color: var(--text-color); }
.sidebar { position: fixed; top: 0; left: 0; height: 100%; width: 150px; background-color: var(--bg-color); border-right: 1px solid var(--border-color); padding: 20px; box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; justify-content: center; }
    .sidebar a { display: block; color: var(--link-color); text-decoration: none; margin-bottom: 15px; font-weight: bold; }
        .sidebar a:hover { text-decoration: underline; }
        .sidebar a.external::after { content: " \2197"; font-size: 12px; color: var(--subtext-color); }
.main-content { margin-left: 150px; padding: 20px; }
.section-title { margin-top: 30px; margin-bottom: 20px; font-weight: bold; font-size: 24px; color: var(--heading-color); }
.resume-item { margin-bottom: 30px; }
.resume-item-title { font-size: 18px; font-weight: bold; display: flex; justify-content: space-between; }
.resume-item-details { font-size: 14px; color: var(--subtext-color); margin-top: 10px; }
.dark-toggle { position: fixed; top: 10px; right: 10px; background: none; border: none; cursor: pointer; font-size: 20px; color: var(--button-text-color); }
    .dark-toggle:hover { opacity: 0.8; }

s { color: #838383; }

@media (max-width: 768px) {
    .sidebar { position: relative; width: 100%; height: auto; border-right: none; box-shadow: none; margin-bottom: 20px; }
    .main-content { margin-left: 0; }
}

h1 { font-size: 48px; font-weight: bold; margin-bottom: 20px; }
h2 { font-size: 24px; font-weight: normal; color: var(--subtext-color); margin-bottom: 40px; }
p { font-size: 18px; max-width: 750px; margin: 0 auto 20px auto; }

.center-content { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100vh; }


.blog-year { margin-top: 40px; margin-bottom: 20px; color: var(--heading-color); font-weight: bold; }
.blog-item { border-bottom: 1px solid var(--border-color); padding: 10px 0; }
    .blog-item:last-child { border-bottom: none; }
.blog-title { font-size: 18px; color: var(--link-color); text-decoration: none; }
    .blog-title:hover { text-decoration: underline; }
.blog-date { font-size: 14px; color: var(--subtext-color); }

.pagination { list-style: none; padding: 0; margin: 30px 0 10px; display: flex; gap: 6px; flex-wrap: wrap; }
    .pagination a { display: inline-block; padding: 6px 12px; font-size: 14px; color: var(--link-color); text-decoration: none; border: 1px solid var(--border-color); border-radius: 4px; }
        .pagination a:hover { background-color: var(--border-color); }
        .pagination a.active { background-color: var(--link-color); color: var(--bg-color); border-color: var(--link-color); }
        .pagination a.disabled { color: var(--subtext-color); pointer-events: none; opacity: 0.5; }

/*
    post detail
*/
article img { max-width: 100%; }
article { max-width: 750px; margin: 20px auto; padding: 0 10px; }
    article h1 { font-size: 30px; font-weight: bold; margin-bottom: 10px; }
    article a { color: var(--link-color); text-decoration: underline; }

.related-posts { margin-top: 40px; }
    .related-posts h4 { margin-bottom: 20px; }
    .related-posts ul { list-style-type: none; padding: 0; }
        .related-posts ul li { margin-bottom: 10px; }
            .related-posts ul li a { text-decoration: none; color: var(--link-color); }
                .related-posts ul li a:hover { text-decoration: underline; }
.tags { margin: 20px auto; padding: 10px; border-top: 1px solid var(--border-color); color: var(--subtext-color); border-bottom: 1px solid var(--border-color); }
    .tags a { text-decoration: none; color: var(--subtext-color); margin-right: 10px; }
        .tags a:hover { text-decoration: underline; }
    .tags h3 { font-size: 18px; font-weight: bold; margin-bottom: 20px; color: var(--heading-color); display: inline; }

.post-pagination { display: flex; margin-bottom: 20px; padding: 5px; background: #f1f1f1; border-top: solid 3px; margin-top: 50px; border-bottom: solid 1px; }
    .post-pagination a { text-decoration: none; color: var(--link-color); display: flex; align-items: center; width: 40%; }
        .post-pagination a:hover { text-decoration: underline; }
        .post-pagination a.prev-post { margin-right: auto; }
        .post-pagination a.next-post { margin-left: auto; }

h3 { font-size: 24px; font-weight: bold; margin-bottom: 20px; color: var(--heading-color); }
    h3:before { content: "\27A4"; margin-right: 10px; color: #03A9F4; }
h4 { font-size: 20px; margin-bottom: 20px; color: var(--heading-color); }

pre { border: solid 1px #000; border-radius: 5px; background: #f0f0f0; }

@media (max-width: 768px) {
    article h1 { font-size: 24px; }
    article p { font-size: 16px; }
    .center-content { height: auto; padding: 0 10px; }
    h1 { font-size: 36px; }
    h2 { font-size: 20px; }
    p { font-size: 16px; }
}

.copyright { text-align: center; font-size: 14px; color: #666; margin-top: 50px; }
.disclaimer { text-align: justify; font-size: 12px; color: #666; margin-top: 20px; }
[data-theme="dark"] #toc-wrapper { background-color: #212529; color: #f8f9fa; border: 1px solid #fff; }
    [data-theme="dark"] #toc-wrapper a { color: #fff }
[data-theme="dark"] .post-pagination { color: #fff; background: #212529 }
