*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f6f2;--text:#111315;--primary:#1f473d;--accent:#4e7386;--line:#d6ddd7;--soft:#bfc7c1;--sidebar-w:300px;--max-w:1083px}html{scroll-behavior:smooth;font-size:112.5%}body{background:var(--bg);color:var(--text);font-family:LXGW WenKai,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,sans-serif;font-size:1rem;line-height:2}::selection{background:var(--primary);color:#fff}a{color:inherit;text-decoration:none}a:hover{color:var(--primary)}img{max-width:100%;height:auto}.site{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);border-right:1px solid var(--line);background:var(--bg);z-index:10;padding:48px 40px;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-inner{flex-direction:column;gap:24px;display:flex}.sidebar-bottom{display:contents}.mobile-home-bottom{display:none}.logo{color:var(--primary);letter-spacing:-.02em;font-size:1.75rem;font-weight:600;display:block}.desc{color:var(--accent);letter-spacing:.05em;font-size:.9375rem;line-height:1.6}.sidebar-nav{flex-direction:column;gap:10px;display:flex}.sidebar-nav a{color:var(--text);font-size:1.0625rem;transition:color .2s}.sidebar-nav a:hover{color:var(--primary)}.sidebar-search input{width:100%;min-width:0;color:var(--primary);font:inherit;appearance:none;background:0 0;border:0;border-radius:0;padding:9px 12px;font-size:1rem;line-height:1.5;display:block}.sidebar-search input::placeholder{color:var(--primary);opacity:.65}.sidebar-search input:focus{box-shadow:none;outline:none}.sidebar-section{margin-top:8px}.sidebar-section h3{text-transform:uppercase;letter-spacing:.1em;color:var(--soft);margin-bottom:8px;font-size:.875rem;font-weight:600}.category-list{padding:0;list-style:none}.category-list li{margin:4px 0}.category-list a{color:var(--accent);font-size:1rem}.category-list a:hover{color:var(--primary)}.friend-links{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.friend-link{max-width:100%}.friend-link-text{color:var(--accent);align-items:center;gap:6px;font-size:1rem;line-height:1.5;display:inline-flex}.friend-link-text:before{content:"↗";color:var(--soft)}.friend-link-text:hover{color:var(--primary)}.friend-link-banner{line-height:0;display:block}.friend-link-banner img{border-radius:2px;width:auto;max-width:100%;height:auto;transition:opacity .2s,transform .2s;display:block}.friend-link-banner:hover img{opacity:.82;transform:translateY(-1px)}.sidebar-footer{color:var(--soft);margin-top:auto;font-size:.875rem}.content{margin-left:var(--sidebar-w);flex:1;min-height:100vh}.stream{max-width:var(--max-w);padding:80px}.search-title{color:var(--primary);overflow-wrap:anywhere;margin-bottom:40px;font-size:1.375rem;font-weight:400;line-height:1.6}.search-empty{color:var(--accent)}.post-card{align-items:flex-start;gap:40px;margin-bottom:80px;display:flex}.post-cover{border-radius:2px;flex:none;width:425px;overflow:hidden}.post-cover a{display:block;position:relative}.post-cover img{aspect-ratio:5/3;object-fit:cover;width:100%;transition:transform .4s;display:block}.post-info{flex-direction:column;flex:1;justify-content:center;align-self:stretch;display:flex}.post-date{letter-spacing:.2em;color:var(--accent);margin-bottom:8px;font-size:.875rem}.post-title{margin-bottom:12px;font-size:1.75rem;font-weight:400;line-height:1.3}.post-title a:hover{color:var(--primary)}.post-excerpt{color:#555;margin-bottom:16px;font-size:1.0625rem;line-height:1.8}.post-more{min-height:64px;color:var(--primary);letter-spacing:.05em;align-items:center;gap:12px;margin-top:auto;font-size:.9375rem;display:flex;transform:translateY(-6.4px)}.pagination{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:8px;margin-top:60px;padding:40px 0 0;list-style:none;display:flex}.pagination li{border:1px solid var(--line);min-width:36px;height:36px;color:var(--accent);justify-content:center;align-items:center;font-size:.875rem;display:inline-flex}.pagination a{width:100%;height:100%;color:var(--accent);justify-content:center;align-items:center;text-decoration:none;transition:color .2s;display:inline-flex}.pagination a:hover{color:var(--primary)}.pagination .current{background:var(--primary);color:#fff;border:1px solid var(--primary)}.pagination .current a{color:#fff}.pagination .prev,.pagination .next{display:none}.article{max-width:1152px;margin:0 auto;padding:80px 80px 120px}.article-header{margin-bottom:48px}.article-date{letter-spacing:.2em;color:var(--accent);margin-bottom:16px;font-size:.875rem;display:block}.article h1{letter-spacing:-.02em;font-size:2.25rem;font-weight:400;line-height:1.3}.article-hero{border-radius:2px;width:100%;margin:12px 0}.article-entry{font-size:1rem;line-height:2}.article-entry a{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.article-entry a:hover{opacity:.8}.article-entry p{margin:1.6em 0}.article-entry img{border-radius:2px;max-width:100%;height:auto;margin-inline:auto;display:block}.article-image-group{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:16px;margin:1.6em 0;display:flex}.article-image-item{flex:none;min-width:0;max-width:100%}.article-image-item>a,.article-image-item picture{display:block}.article-entry h2{margin:48px 0 16px;font-size:1.5rem;font-weight:500}.article-entry h3{margin:36px 0 12px;font-size:1.25rem;font-weight:500}.article-entry blockquote{border-left:2px solid var(--primary);color:#666;margin:1.6em 0;padding-left:24px;font-style:italic}.article-entry hr{background:var(--line);border:none;height:1px;margin:48px 0}.article-entry pre{background:#edefea;border-radius:2px;margin:24px 0;padding:20px 24px;font-size:.875rem;line-height:1.7;overflow-x:auto}.article-entry code{background:#edefea;border-radius:2px;padding:2px 6px;font-size:.875rem}.article-entry pre code{background:0 0;padding:0}.article-entry ul,.article-entry ol{margin:1em 0;padding-left:24px}.article-entry li{margin:6px 0}.article-entry table{border-collapse:collapse;width:100%;margin:24px 0}.article-entry th,.article-entry td{border-bottom:1px solid var(--line);text-align:left;padding:12px 16px}.article-entry th{background:#edefea;font-weight:600}.reading-time{border-top:1px solid var(--line);color:var(--accent);letter-spacing:.05em;margin-top:48px;padding:16px 0;font-size:.8125rem}.archive{max-width:740px;margin:0 auto;padding:80px}.archive h1{color:var(--primary);margin-bottom:40px;font-size:1.75rem;font-weight:400}.archive-item{color:var(--text);justify-content:space-between;align-items:baseline;padding:14px 0;display:flex}.archive-item+.archive-item{border-top:1px solid var(--line)}.archive .pagination{border-top:none}.archive-item:hover{color:var(--primary)}.archive-item span{font-size:1rem}.archive-item time{color:var(--accent);flex:none;font-size:.8125rem}.notfound{text-align:center;max-width:500px;margin:120px auto;padding:0 40px}.notfound .code{color:var(--accent);margin-bottom:16px;font-size:4.5rem;font-weight:200;line-height:1}.notfound h1{margin-bottom:16px;font-size:1.375rem;font-weight:400}.notfound p{color:#666;margin-bottom:32px;font-size:.9375rem}.notfound a{border:1px solid var(--primary);color:var(--primary);padding:10px 28px;font-size:.875rem;display:inline-block}.notfound a:hover{background:var(--primary);color:#fff}.lightbox{visibility:hidden;opacity:0;z-index:9999;backdrop-filter:blur(14px);background:#11131559;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0;overflow:hidden}.lightbox.active{visibility:visible;opacity:1}.lightbox-img{object-fit:contain;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:4px;max-width:90vw;max-height:90vh;transition:transform .15s}.lightbox-img.dragging{cursor:grabbing;transition:none}.toc{z-index:50;background:var(--bg);border:1px solid var(--line);border-radius:2px;width:210px;max-height:70vh;padding:16px 18px;display:none;position:fixed;top:50%;right:calc(50vw - 802px);overflow-y:auto;transform:translateY(-50%)}.toc.show{display:block}.toc h3{color:var(--soft);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;font-size:.75rem;font-weight:600}.toc ul{margin:0;padding:0;list-style:none}.toc li{margin:0}.toc a{color:var(--accent);border-left:2px solid #0000;padding:4px 8px;font-size:.8125rem;line-height:1.5;text-decoration:none;transition:all .2s;display:block}.toc a:hover{color:var(--primary);border-left-color:var(--primary)}.article-entry h2{scroll-margin-top:24px}.single .sidebar{display:none}.single .content{margin-left:0}.back-home{z-index:100;background:var(--bg);border:1px solid var(--line);width:40px;height:40px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:1.125rem;text-decoration:none;transition:all .2s;display:none;position:fixed;top:32px;left:32px}.back-home:hover{color:var(--primary);border-color:var(--primary)}.single .back-home{display:flex}.article-meta{color:var(--accent);letter-spacing:.03em;margin-top:8px;font-size:.8125rem}.article-footer{border-top:1px solid var(--line);color:var(--soft);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-top:60px;padding-top:24px;font-size:.8125rem;display:flex}.article-footer a{color:var(--accent);text-decoration:none}.article-footer a:hover{color:var(--primary)}@media (width<=860px){.site{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--line);width:100%;padding:28px 24px;position:relative}.sidebar-inner{gap:16px}.sidebar-bottom-home{display:none}.content{margin-left:0}.mobile-home-bottom{border-top:1px solid var(--line);background:var(--bg);flex-direction:column;gap:16px;width:100%;padding:28px 24px;display:flex}.mobile-home-bottom .sidebar-section{margin-top:0}.mobile-home-bottom .sidebar-footer{margin-top:8px}.single .back-home{display:none}.stream{padding:24px}.post-card{flex-direction:column;gap:20px;margin-bottom:48px}.post-cover{width:100%}.post-cover img{aspect-ratio:16/9}.post-title{font-size:1.5rem}.post-more{gap:10px;min-height:48px;transform:translateY(-4.8px)}.article{padding:40px 24px}.article h1{font-size:1.75rem}.archive{padding:40px 24px}.archive h1{font-size:1.375rem}.archive-item{flex-direction:column;gap:4px}.notfound{margin:80px auto}}@media (prefers-color-scheme:dark){:root{--bg:#141717;--text:#ecedeb;--primary:#2f6555;--accent:#6c93a5;--line:#2d3434;--soft:#4a5454}body,.sidebar{background:var(--bg)}.article-entry pre,.article-entry code,.article-entry th{background:#1f2323}.post-excerpt{color:#999}}[hidden]{display:none!important}.sr-only,.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link:focus{z-index:10000;background:var(--bg);padding:8px 16px;position:fixed;top:16px;left:16px}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.sidebar-search input:focus-visible{box-shadow:none;outline:none}.content,.post-info{min-width:0}.post-title,.post-excerpt,.article h1,.article-entry,.archive-item{overflow-wrap:anywhere}.post-cover:hover img{transform:scale(1.03)}.post-more{min-height:0;padding-top:4px;transform:none}.sidebar-nav [aria-current=page]{color:var(--primary)}.article-hero[role=button],.article-entry img[role=button]{cursor:zoom-in}.article-entry pre{max-width:100%}.article-entry table{display:block;overflow-x:auto}.search-page-form{gap:12px;margin-bottom:16px;display:flex}.search-page-form input{flex:1}.search-page-form button{border:1px solid var(--primary);background:var(--primary);color:var(--bg);font:inherit;white-space:nowrap;cursor:pointer;padding:8px 20px}.search-status{color:var(--accent);margin-bottom:32px;font-size:.875rem}.toc{width:auto;max-width:992px;max-height:none;margin:0 0 36px;position:static;transform:none}.toc a{padding-left:0}.image-viewer{color:#fff;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:64px 24px;overflow:hidden}.image-viewer[open]{justify-content:center;align-items:center;display:flex}.image-viewer::backdrop{backdrop-filter:blur(14px);background:#111315a6}.image-viewer .lightbox-img{max-height:calc(100dvh - 140px)}.viewer-tools{z-index:2;gap:8px;display:flex;position:absolute;top:20px;right:24px}.viewer-tools button{color:#fff;min-width:44px;height:44px;font:inherit;cursor:pointer;background:#141717;border:1px solid #778581;border-radius:4px;padding:0 12px}.viewer-hint{text-align:center;pointer-events:none;font-size:.8125rem;position:absolute;bottom:20px;left:0;right:0}@media (width>=861px) and (width<=1250px){.stream{padding:56px 40px}.post-card{gap:28px}.post-cover{width:46%}.post-title{font-size:1.5rem}}@media (width>=1600px){.toc{width:210px;max-height:70vh;margin:0;position:fixed;top:50%;right:max(16px,50vw - 802px);transform:translateY(-50%)}}@media (width<=860px){.content{min-height:auto}.post-info{width:100%}.sidebar-nav{flex-flow:wrap;gap:24px}.single .back-home{display:flex;position:absolute;top:16px;left:24px}.single .article{padding-top:80px}.toc{margin:0 0 32px}.article-footer{color:var(--accent)}}@media (prefers-color-scheme:dark){:root{--primary:#9fbfac;--soft:#87968c;color-scheme:dark}.article-entry blockquote,.notfound p{color:#adb6b0}.astro-code,.astro-code span{background-color:var(--shiki-dark-bg)!important;color:var(--shiki-dark)!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.site-banner{max-width:500px;line-height:0;display:block}.site-banner img{width:100%;height:auto;display:block}.about-banner{margin-top:48px}
