*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans sc,sans-serif;background:#f4f6fb;color:#3b4351;line-height:1.8;display:flex;flex-direction:column;min-height:100vh}a{color:#6a88d7;text-decoration:none;transition:all .15s}a:hover{color:#5a78c8}header{border-bottom:2px solid #b6c6f2;padding:30px 0 20px;margin:0 auto 40px;width:min(900px,90vw)}#blog-title a{font-family:noto serif sc,source han serif sc,stsong,simsun,serif;font-weight:700;color:#2c3e50;font-size:1.5em;letter-spacing:1px}body{position:relative}aside.sidebar{position:absolute;left:max(2em,calc((100vw - 900px)/2 - 165px));top:210px;width:140px;z-index:100;font-size:.92em;line-height:1.6}.category-nav{display:flex;flex-direction:column;gap:1em}.cat-group{display:flex;flex-direction:column}.cat-group summary{list-style:none;cursor:pointer}.cat-group summary::-webkit-details-marker{display:none}.cat-group summary::marker{display:none;content:""}.cat-heading{display:flex;align-items:baseline;gap:.3em;font-family:noto serif sc,source han serif sc,serif;font-weight:700;color:#2c3e50;font-size:.95em;border-left:3px solid #7a94dd;padding:.45em .5em;transition:all .15s}.cat-heading a{color:inherit;font-weight:inherit}.cat-heading:hover{border-left-color:#5a78c8;background:rgba(122,148,221,8%)}.cat-arrow{font-size:.7em;color:#7a94dd;flex-shrink:0}.cat-arrow::before{content:"\25BE"}details:not([open]) .cat-arrow::before{content:"\25B8"}.cat-children{display:flex;flex-direction:column;gap:.15em;padding-left:1em;margin-top:.25em}.cat-children a{display:block;padding:.35em .5em .35em 1em;color:#6a88d7;font-size:.88em;border-left:2px solid #b6c6f2;background:rgba(182,198,242,5%);border-radius:0 4px 4px 0;transition:all .15s}.cat-children a:hover{background:rgba(182,198,242,.16);border-left-color:#7a94dd;padding-left:1.3em;color:#5a78c8}.cat-group-empty .cat-heading{border-left:3px solid #7a94dd}.cat-group-empty .cat-heading:hover{background:rgba(122,148,221,8%)}main{width:min(900px,90vw);margin:0 auto;padding-bottom:60px}.page-title{font-family:noto serif sc,source han serif sc,serif;font-weight:700;color:#2c3e50;margin-bottom:1.5em;padding-bottom:.5em;border-bottom:1px dashed #b6c6f2}.post-card{background:#fff;padding:35px 40px;border-radius:8px;box-shadow:0 4px 16px rgba(182,198,242,.25);border:1px solid #e2e8f4;margin-bottom:25px}.post-card .post-title{border-bottom:none;margin-bottom:.3em;font-size:1.2em;font-family:noto serif sc,source han serif sc,serif;font-weight:700}.post-card .post-title a{color:#2c3e50}.post-card .post-title a:hover{color:#6a88d7}.post-card .post-date{display:block;color:#8fa0ba;font-size:.85em;margin-bottom:.8em}.post-card .post-summary{color:#5a6678;font-size:.95em;line-height:1.7;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.post-card .read-more{display:inline-block;margin-top:.8em;font-size:.9em}.empty-msg{color:#8fa0ba;text-align:center;padding:60px 0;font-style:italic}.post-full{background:#fff;padding:40px 45px;border-radius:8px;box-shadow:0 4px 16px rgba(182,198,242,.25);border:1px solid #e2e8f4}.post-full .post-title{font-family:noto serif sc,source han serif sc,serif;font-weight:700;color:#2c3e50;font-size:1.5em;margin-bottom:.3em;border-bottom:none}.post-full .post-date{display:block;color:#8fa0ba;font-size:.85em;margin-bottom:1.5em;padding-bottom:1em;border-bottom:1px dashed #b6c6f2}.post-content{font-size:1em;line-height:1.9;white-space:pre-wrap;word-break:break-word}.post-content p{margin-bottom:1em}.post-footer{margin-top:2em;padding-top:1em;border-top:1px dashed #b6c6f2}.post-tags{color:#8fa0ba;font-size:.9em}.post-tags a{margin-left:.3em}@media(max-width:960px){aside.sidebar{position:static;width:min(900px,90vw);margin:0 auto 1.5em;padding:0}.category-nav{flex-direction:row;flex-wrap:wrap;gap:1em}.cat-children{flex-direction:row;flex-wrap:wrap;gap:.5em;padding-left:.5em}.cat-children a{border-left:none;border-bottom:2px solid #b6c6f2;border-radius:0;padding:.2em 0;background:0 0}.cat-heading{border-left:none;border-bottom:2px solid #7a94dd;padding:.2em 0}.cat-group-empty .cat-heading{border-left:none;border-bottom:2px solid #7a94dd}}.post-content h1,.post-content h2,.post-content h3{font-family:noto serif sc,source han serif sc,serif;font-weight:700;color:#2c3e50;margin:1.5em 0 .5em;padding-bottom:6px;border-bottom:1px dashed #b6c6f2}