/* ====================================
 * my Theme 
 * @author  贾小宝宝
 * @link    https://www.gudan.xyz/
 * @update  2026-06-17
 * ==================================== */

/* ====================================
 * Part 1: CSS Reset 
 * ==================================== */
html { box-sizing: border-box; line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; }
h1 { font-size: 2em; margin: 0.67em 0; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre, code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
img { border-style: none; max-width: 100%; height: auto; }
video { max-width: 100%; height: auto; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; resize: vertical; }
[type="checkbox"], [type="radio"] { padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
details { display: block; }
summary { display: list-item; }
template, [hidden] { display: none; }
ul, ol { padding: 0; }

/* ====================================
 * Part 2: Base Grid System
 * ==================================== */
.container { margin-left: auto; margin-right: auto; padding-left: 10px; padding-right: 10px; }
.row { display: flex; flex-wrap: wrap; margin-right: -10px; margin-left: -10px; }
.row > [class*="col-"] { padding-right: 10px; padding-left: 10px; position: relative; }

.col-mb-1  { width: 8.33333%; } .col-mb-2  { width: 16.66667%; } .col-mb-3  { width: 25%; }
.col-mb-4  { width: 33.33333%; } .col-mb-5  { width: 41.66667%; } .col-mb-6  { width: 50%; }
.col-mb-7  { width: 58.33333%; } .col-mb-8  { width: 66.66667%; } .col-mb-9  { width: 75%; }
.col-mb-10 { width: 83.33333%; } .col-mb-11 { width: 91.66667%; } .col-mb-12 { width: 100%; }

/* ====================================
 * Part 3: Theme Customizations
 * ==================================== */
body {
  background-color: #FFF;
  color: #444;
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 95.5%; 
  overflow-y: scroll;  
  font-variant-numeric: tabular-nums;
}
a { color: #3354AA; text-decoration: none; }
a:hover, a:active { color: #444; }

pre, code { background: #F3F3F3; font-family: Menlo, Monaco, Consolas, monospace; font-size: .92857em; }
code { padding: 2px 4px; color: #B94A48; }
pre { padding: 8px; overflow: auto; max-height: 400px; }
pre code { display: block; padding: 3px; }
blockquote { margin: 1em 0; padding-left: 1.5em; border-left: 4px solid #eee; color: #666; }

table { border: 1px solid #ddd; width: 100%; }
table th, table td { padding: 5px 10px; border: 1px solid #eee; }
table th { background: #f3f3f3; }

h1, h2, h3, h4, h5, h6 { font-family: inherit; }

input[type="text"], input[type="email"], input[type="url"], input[type="password"], textarea {
  padding: 5px; border: 1px solid #E9E9E9; width: 100%; border-radius: 2px;
}

.post-meta a, .post-content a, .widget a, .comment-content a { border-bottom: 1px solid #EEE; }
.post-meta a:hover, .post-content a:hover, .widget a:hover, .comment-content a:hover { border-bottom-color: transparent; }

#header { padding-top: 15px; }
#header .container { border: 1px solid #CCC; padding: 20px 20px 15px 20px; }
#logo { color: #333; font-size: 2.5em; display: inline-block; min-height: 95px; }
#logo img { max-height: 95px; width: auto; object-fit: contain; vertical-align: middle; }
.description { margin: .5em 0 0; color: #999; font-style: italic; }

#nav-menu { margin: 15px 0 0; padding: 0; }
#nav-menu a { display: block; margin-right: -1px; padding: 0 20px; border: 1px solid #EEE; border-bottom: none; height: 32px; line-height: 32px; color: #444; float: left; }
#nav-menu a:hover, #nav-menu .current { background: #F6F6F6; }

#search { position: relative; margin-top: 15px; }
#search input { padding-right: 30px; }
#search button { position: absolute; right: 4px; top: 2px; border: none; padding: 0; width: 24px; height: 24px; background: transparent url(img/icon-search.png) no-repeat center center; text-indent: -9999em; }

#body .container { border-left: 1px solid #CCC; border-right: 1px solid #CCC; padding-top: 5px; padding-left: 20px; padding-right: 20px; }

.post { padding: 15px 0 20px; border-bottom: 1px solid #DDD; }
.post:last-of-type { border-bottom: none; }
.post:first-of-type { padding-top: 5px; }
.post-title { margin: .83em 0; font-size: 1.4em; }
.post-meta { margin-top: -0.5em; padding: 0; color: #999; font-size: .92857em; line-height: 1.5; }
.post-meta li { display: inline-block; margin: 0 8px 8px 0; padding-left: 12px; border-left: 1px solid #EEE; }
.post-meta li:first-child { margin-left: 0; padding-left: 0; border: none; }
.post-near { list-style: none; margin: 30px 0; padding: 0; color: #999; }
.post-near li { margin: 10px 0; }
.archive-title { margin: 1em 0 -1em; padding-top: 20px; color: #999; font-size: 1em; }

.more { text-align: center; }
.more a { border: none; }
.protected .text { width: 50%; }

.page-navigator { list-style: none; margin: 25px 0; padding: 0; text-align: center; }
.page-navigator li { display: inline-block; margin: 0 4px; }
.page-navigator a { display: inline-block; padding: 0 10px; height: 30px; line-height: 30px; }
.page-navigator a:hover { background: #EEE; text-decoration: none; }
.page-navigator .current a { color: #444; background: #EEE; }

#comments { padding-top: 15px; }
.comment-list, .comment-list ol { list-style: none; margin: 0; padding: 0; }
.comment-list li { padding: 14px; margin-top: 10px; border: 1px solid #EEE; }
.comment-list li.comment-level-odd { background: #F6F6F3; }
.comment-list li.comment-level-even { background: #FFF; }
.comment-list li.comment-by-author { background: #FFF9E8; }
.comment-list li .comment-reply { text-align: right; font-size: .92857em; }
.comment-meta a { color: #999; font-size: .92857em; }
.comment-author { display: block; margin-bottom: 3px; color: #444; }
.comment-author .avatar { float: left; margin-right: 10px; }
.comment-author cite { font-weight: bold; font-style: normal; }
.comment-list .respond { margin-top: 15px; border-top: 1px solid #EEE; }
.respond .cancel-comment-reply { float: right; margin-top: 15px; font-size: .92857em; }
#comment-form label { display: block; margin-bottom: .5em; font-weight: bold; }
#comment-form .required:after { content: " *"; color: #C00; }

#secondary { padding-top: 15px; word-wrap: break-word; text-align: left; }
.widget { margin-bottom: 30px; border-bottom: 1px solid #DDD; padding-bottom: 20px; }
.widget:last-of-type { border-bottom: none; margin-bottom: 0; }
.widget-list { list-style: none; padding: 0; }
.widget-list li { display: inline-block; margin: 5px 40px 5px 0; line-height: 1.6; }
.widget-list li ul { margin-left: 15px; display: block; }

#footer { padding: 1em 20px; line-height: 1.5; text-align: center; color: #999; border: 1px solid #CCC; max-width: 1200px; width: 95%; margin: 0 auto 15px auto; }
.error-page { margin-top: 100px; margin-bottom: 100px; }

.post-content, .comment-content { line-height: 1.8; word-wrap: break-word; }
.post-content h2, .comment-content h2 { font-size: 1.28571em; }
.post-content a img, .comment-content a img { background: #FFF; position: relative; bottom: -4px; }
.post-content hr, .comment-content hr { margin: 2em auto; width: 100%; border: 0; border-top: 1px solid #CCC; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin: 0 15px 0 0; }
.alignright { float: right; margin: 0 0 0 15px; }
.post-content p { margin-bottom: 1.5em; }
.post-content ul, .comment-content ul, .post-content ol, .comment-content ol { padding-left: 2em; margin-bottom: 1.5em; }
.post-content li, .comment-content li { margin-bottom: 0.5em; }
.post-content li > ul, .comment-content li > ul, .post-content li > ol, .comment-content li > ol { margin-bottom: 0; }

.hidden { display: none !important; visibility: hidden; }
.invisible { visibility: hidden; }
.sr-only { border: 0; height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }

.post-copyright { margin: 50px -10px 25px -10px; padding: 15px 10px; background-color: #F9F9F9; color: #444; font-size: 1em; line-height: 1.8; word-wrap: break-word; }
.post-copyright a { color: #3354AA; word-break: break-all; }
.post .tags { clear: both; margin-top: 25px; margin-bottom: 30px; color: #444; font-size: 1em; line-height: 1.8; }

/* ====================================
 * Part 4: Media Queries 集成管理
 * ==================================== */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  #search button { background-image: url(img/icon-search@2x.png); background-size: 24px 24px; }
}

@media (max-width: 767px) {
  #nav-menu a { float: none; display: inline-block; margin: 5px 5px 5px 0; }
  #header, .post-title, .post-meta { text-align: left; }
  .post-meta { margin-top: 5px; }
}

@media (min-width: 768px) {
  .container { max-width: 728px; }
  .col-tb-1 { width: 8.33333%; } .col-tb-2 { width: 16.66667%; } .col-tb-3 { width: 25%; } .col-tb-4 { width: 33.33333%; }
  .col-tb-5 { width: 41.66667%; } .col-tb-6 { width: 50%; } .col-tb-7 { width: 58.33333%; } .col-tb-8 { width: 66.66667%; }
  .col-tb-9 { width: 75%; } .col-tb-10 { width: 83.33333%; } .col-tb-11 { width: 91.66667%; } .col-tb-12 { width: 100%; }
  
  #main { width: 70% !important; border-right: 1px solid #CCC; padding-right: 20px; }
  #secondary { width: 30% !important; margin-left: 0 !important; padding-left: 20px; }
  #header > .container > .row { display: flex; align-items: stretch; }
  .site-right-wrapper { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; }
  #search { margin-top: 0 !important; }
  #nav-menu { margin: 0 !important; display: flex; flex-wrap: wrap; justify-content: flex-end; }
  #nav-menu a { float: none !important; }
}

@media (max-width: 991px) {
  .kit-hidden-tb { display: none !important; }
}

@media (min-width: 992px) {
  .container { max-width: 960px !important; }
  .col-1 { width: 8.33333%; } .col-2 { width: 16.66667%; } .col-3 { width: 25%; } .col-4 { width: 33.33333%; }
  .col-5 { width: 41.66667%; } .col-6 { width: 50%; } .col-7 { width: 58.33333%; } .col-8 { width: 66.66667%; }
  .col-9 { width: 75%; } .col-10 { width: 83.33333%; } .col-11 { width: 91.66667%; } .col-12 { width: 100%; }
}

@media (min-width: 1200px) {
  .container { max-width: 1200px !important; width: 95% !important; }
  .col-wd-1 { width: 8.33333%; } .col-wd-2 { width: 16.66667%; } .col-wd-3 { width: 25%; } .col-wd-4 { width: 33.33333%; }
  .col-wd-5 { width: 41.66667%; } .col-wd-6 { width: 50%; } .col-wd-7 { width: 58.33333%; } .col-wd-8 { width: 66.66667%; }
  .col-wd-9 { width: 75%; } .col-wd-10 { width: 83.33333%; } .col-wd-11 { width: 91.66667%; } .col-wd-12 { width: 100%; }
}

/* ====================================
 * 日历归档样式
 * ==================================== */
.calendar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 0;
    line-height: 1.6;
    overflow: hidden;
}
.calendar-header a {
    color: #3354AA;
    font-size: 0.92857em;
    padding: 3px 0;
    text-decoration: none;
    border-radius: 3px;
    border-bottom: none;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.calendar-header a:hover { background: #F6F6F6; }
.cal-nav-prev::before { content: '< '; }
.cal-nav-next::after { content: ' >'; }
.calendar-header .cal-disabled { color: #CCC; font-size: 0.92857em; padding: 3px 0; border-bottom: none; flex-shrink: 0; display: inline-flex; align-items: center; gap: 4px; }
.cal-disabled.cal-nav-prev::before { content: '< '; }
.cal-disabled.cal-nav-next::after { content: ' >'; }
.calendar-selects { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.calendar-nav { display: flex; align-items: center; gap: 20px; flex-shrink: 0; }
.calendar-selects select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 4px 20px 4px 8px;
    border: 1px solid #DDD;
    border-radius: 3px;
    font-size: 0.92857em;
    color: #444;
    background: #FFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23999' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E") no-repeat right 6px center;
    background-size: 10px 6px;
    cursor: pointer;
    line-height: 1.6;
}
.calendar-selects select:hover { border-color: #BBB; }
.calendar-selects select:focus { border-color: #3354AA; outline: none; }
.calendar-selects select option[disabled] { color: #CCC; }
.calendar-selects select option { color: #444; }
.calendar-body table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    table-layout: fixed;
    border: 1px solid #DDD;
}
.calendar-body th,
.calendar-body td {
    padding: 5px 2px;
    text-align: center;
    line-height: 1.6;
    border: 1px solid #EEE;
}
.calendar-body th {
    font-weight: bold;
    color: #999;
    font-size: 0.85em;
    background: #F6F6F6;
    border-radius: 3px;
}
.calendar-body td { color: #444; }
.calendar-body .cal-dot a {
    color: #FFF;
    text-decoration: none;
    border-bottom: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.calendar-body td.other-month { color: #CCC; }
.calendar-body td.today { color: #3354AA; font-weight: bold; }

.cal-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #3354AA;
}
.cal-dot:hover { background: #2a4a9a; }
.cal-dot:hover a { color: #FFF; }

.cal-dot.today {
    background: #3354AA;
    box-shadow: 0 0 0 2px #3354AA, 0 0 0 3px #FFF, 0 0 0 4px #3354AA;
}

.cal-today {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1.5px solid #3354AA;
    color: #3354AA;
    font-weight: bold;
    box-sizing: border-box;
}

/* 页脚备案信息专用样式 */
.footer-info-container { margin-top: 15px; }
.footer-icp { margin-right: 30px; }
.footer-psb { display: inline-flex; align-items: center; vertical-align: middle; }
.footer-psb img { margin-right: 5px; width: 16px; height: 16px; }