/*
Theme Name: 西风屿
Description: 海蓝色、纸张与树海。原生 WordPress 个人博客主题，无需页面构建插件。
Version: 1.2.6
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: xifengyu
Tags: blog, two-columns, left-sidebar, custom-colors, custom-background, custom-menu, featured-images, threaded-comments
*/
:root{--xfy-background:#789dbc;--xfy-paper:#f7f3e8;--xfy-sidebar-text:#ffe3e3;--xfy-sidebar-heading:#2f4b60;--xfy-counts:#fff;--xfy-title-color:#3d5369;--xfy-body-color:#506273;--xfy-muted-color:#707b8b;--xfy-link-color:#5c7e9b;--xfy-border-color:#a9bba5;--xfy-sidebar-size:12px;--xfy-heading-size:18px;--xfy-list-title-size:21px;--xfy-body-size:14px;--xfy-site-title-size:52px;--xfy-float-width:100px}
*{box-sizing:border-box}body{margin:0;background:var(--xfy-background);color:var(--xfy-body-color);font:var(--xfy-body-size)/1.85 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;overflow-wrap:anywhere}a{color:var(--xfy-link-color);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:4px}img{max-width:100%;height:auto}svg{vertical-align:middle;flex-shrink:0}h1,h2,h3,h4{color:var(--xfy-title-color);line-height:1.5}h1,h2,h3,p{margin-top:0}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{clip:auto;width:auto;height:auto;left:12px;top:12px;padding:12px;background:#fff;z-index:1000}.site{max-width:1120px;padding:32px 36px 0;margin:auto}.hero{position:relative;isolation:isolate;min-height:310px;border-radius:22px;overflow:hidden;background:#f0f3e9;margin-bottom:0;display:flex;align-items:center;padding:40px 44px;color:#4e6670}.hero-art{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center}.hero-art svg{width:100%;height:100%;display:block}.hero-copy{position:relative;max-width:660px}.hero-symbol{margin-bottom:10px;opacity:.6}.hero h1{font:500 var(--xfy-site-title-size)/1.3 "Songti SC","Noto Serif CJK SC","SimSun",serif;letter-spacing:.12em;color:#35596a;margin:0 0 19px}.hero p{font-size:14px;line-height:2;margin-bottom:16px}.hero-caption{font-size:11px;letter-spacing:.22em;color:#557c76}.layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px;align-items:start;padding:42px 0 65px}.sidebar{color:var(--xfy-sidebar-text);font-size:var(--xfy-sidebar-size);padding:6px 20px 0}.sidebar a{color:inherit}.sidebar h2,.sidebar strong{color:var(--xfy-sidebar-heading);font-size:var(--xfy-heading-size);font-weight:500}.sidebar small{font-size:9px;letter-spacing:.17em;color:var(--xfy-sidebar-heading)}.author-card{padding-bottom:26px;margin-bottom:25px;border-bottom:1px solid #ffffff30}.author-avatar{width:76px;height:76px;border-radius:50%;background:#e1e7d7;color:#6c8c8c;display:grid;place-items:center;margin-bottom:16px;border:4px solid #f7f3e85c;overflow:hidden}.author-avatar img{width:100%;height:100%;object-fit:cover}.author-card h2{margin:0 0 10px}.author-card p{line-height:2.1;margin:0}.category-panel summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.category-panel summary::-webkit-details-marker{display:none}.category-panel summary strong{display:block;margin:5px 0 16px}.category-panel summary>svg{display:none}.category-all{display:flex;gap:9px;align-items:center;padding:9px 0}.category-all>svg:last-child{margin-left:auto}.category-tree,.category-tree ul,.side-recent ul{list-style:none;padding:0;margin:0}.category-tree ul{padding-left:12px;margin:1px 0 5px 5px;border-left:1px solid #ffffff3b}.category-row{display:flex;align-items:center;min-height:34px;gap:4px}.category-row>a{flex:1;display:flex;align-items:baseline;justify-content:space-between;gap:5px;padding:5px 0}.category-count{color:var(--xfy-counts);font-size:.9em;white-space:nowrap}.category-toggle{background:none;border:0;color:inherit;padding:4px;cursor:pointer;font-size:11px}.current-cat>.category-row>a{font-weight:600}.side-recent{border-top:1px solid #ffffff30;margin-top:26px;padding-top:25px}.side-recent h2{margin:5px 0 15px}.side-recent li{padding:6px 0}.side-recent a{display:flex;align-items:center;justify-content:space-between;gap:7px}.side-note{border-top:1px solid #ffffff30;margin-top:27px;padding-top:25px}.side-note p{margin:12px 0;line-height:2.1}.paper{position:relative;isolation:isolate;min-width:0;min-height:350px;border-radius:20px;padding:35px 36px 40px;background:var(--xfy-paper);box-shadow:0 5px 18px #304b6012}.paper:before{content:"";position:absolute;inset:0;border-radius:inherit;background:url('assets/paper-grain.svg');opacity:.4;pointer-events:none;z-index:-1}.paper:after{content:"";position:absolute;inset:12px;border:1px dashed var(--xfy-border-color);border-radius:12px;pointer-events:none;opacity:.78;z-index:-1}.eyebrow{font-size:9px;letter-spacing:.2em;color:var(--xfy-muted-color)}.feed-heading{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding-bottom:23px;border-bottom:1px solid #82949530}.feed-heading h1{font-size:23px;font-weight:500;margin:4px 0 0}.archive-toggle{font-size:12px;margin-left:auto;display:flex;gap:8px;align-items:center}.search-form{display:flex;align-items:center;gap:5px;margin-left:auto;max-width:150px;border-bottom:1px solid #82949555}.search-form input{background:none;border:0;min-width:0;width:100%;padding:6px 0;color:inherit;font-size:12px}.search-form button{padding:5px;border:0;background:none;color:var(--xfy-muted-color);cursor:pointer}.archive-note{font-size:12px;color:var(--xfy-muted-color);margin:15px 0}.archive-note:empty{display:none}.archive-note p:last-child{margin-bottom:0}.post-card{display:flex;gap:23px;padding:30px 0;border-bottom:1px solid #82949530}.post-copy{flex:1;min-width:0}.meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:var(--xfy-muted-color);font-size:10px;line-height:1.8}.meta a{color:inherit}.meta i{width:3px;height:3px;background:currentColor;border-radius:50%}.post-card h2{font-size:var(--xfy-list-title-size);font-weight:500;margin:9px 0 12px}.post-card h2 a{color:var(--xfy-title-color)}.post-card p{font-size:var(--xfy-body-size);line-height:2;margin-bottom:14px}.read-link{display:inline-flex;align-items:center;gap:14px;font-size:11px}.post-image{width:135px;flex:0 0 135px;align-self:center;overflow:hidden;border-radius:10px}.post-image img{display:block;width:100%;height:135px;object-fit:cover}.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px}.archive-grid .post-card{padding:23px 0}.archive-grid .post-card h2{font-size:calc(var(--xfy-list-title-size)*.8)}.archive-grid .post-card p{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.archive-grid .read-link{display:none}.pagination{margin-top:30px}.nav-links{display:flex;gap:10px;flex-wrap:wrap}.page-numbers{padding:3px 9px;border-radius:5px}.page-numbers.current{background:#a9bba540;color:var(--xfy-title-color)}.empty{text-align:center;padding:60px 5px}.empty h2{font-size:20px;font-weight:400;margin-top:20px}.back{font-size:12px;display:inline-flex;gap:8px;align-items:center;margin-bottom:27px}.article>.meta{margin-bottom:12px}.article>h1{font-size:calc(var(--xfy-list-title-size)*1.35);font-weight:500;margin-bottom:30px}.entry-content{line-height:2.15}.entry-content p{margin-bottom:1.6em}.entry-content a{text-decoration:underline;text-underline-offset:3px}.entry-content h2{font-size:1.55em;margin-top:1.8em}.entry-content h3{font-size:1.3em;margin-top:1.8em}.entry-content blockquote{border-left:3px solid var(--xfy-border-color);margin:25px 0;padding:10px 22px;background:#a9bba514}.entry-content blockquote p:last-child{margin-bottom:0}.entry-content figure{max-width:100%;margin-left:0;margin-right:0}.entry-content figcaption{font-size:12px;color:var(--xfy-muted-color);text-align:center}.entry-content pre{overflow:auto;padding:20px;background:#596a7310;border-radius:8px;font-size:.9em}.entry-content code{overflow-wrap:anywhere}.entry-content iframe,.entry-content video{max-width:100%}.entry-content table{width:100%;border-collapse:collapse}.entry-content td,.entry-content th{padding:8px;border:1px solid #82949550}.wp-block-table{overflow:auto}.entry-content .alignleft{float:left;margin:0 20px 15px 0}.entry-content .alignright{float:right;margin:0 0 15px 20px}.entry-content .aligncenter{display:block;margin-left:auto;margin-right:auto}.entry-content:after{content:"";display:block;clear:both}.entry-content .wp-block-button__link{background:var(--xfy-link-color);color:var(--xfy-paper);text-decoration:none}.entry-content .wp-block-image img{height:auto}.article-end{font-size:12px;margin:35px 0 20px}.tags a{display:inline-block;padding:3px 10px;background:#a9bba521;border-radius:12px;margin:3px}.post-navigation{border-top:1px solid #82949530;padding-top:20px}.post-navigation .nav-links{justify-content:space-between}.post-navigation .nav-links>div{max-width:46%}.post-navigation span{display:block;color:var(--xfy-muted-color);font-size:10px}.comments-area{margin-top:35px;padding-top:25px;border-top:1px solid #82949530}.comments-title,.comment-reply-title{font-size:19px;font-weight:500}.comment-list{list-style:none;padding:0}.comment-list .children{list-style:none;padding-left:20px}.comment-body{padding:16px 0;border-bottom:1px solid #82949530}.comment-author img{border-radius:50%;margin-right:10px}.comment-metadata,.reply{font-size:11px}.comment-content{margin-top:12px}.comment-form label{display:block;font-size:12px}.comment-form input:not([type=checkbox]),.comment-form textarea,.post-password-form input{max-width:100%;border:1px solid #82949555;background:#ffffff38;color:inherit;border-radius:7px;padding:8px 12px}.comment-form textarea{width:100%}.comment-form-cookies-consent{display:flex;gap:8px}.comment-form input[type=submit],.post-password-form input[type=submit]{background:var(--xfy-link-color);color:var(--xfy-paper);cursor:pointer;border:0}.site-footer{display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap;color:#edf0e4b3;font-size:11px;border-top:1px solid #ffffff2a;padding:24px 0 35px}.site-footer a{color:inherit}.footer-brand{display:flex;gap:10px;align-items:center}.site-footer small{font-size:10px}.footer-menu{width:100%}.footer-menu ul{display:flex;gap:20px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.footer-menu ul ul{padding-left:12px}.privacy-link{font-size:10px}.author-float{position:fixed;right:25px;bottom:20px;width:var(--xfy-float-width);z-index:50;display:block;filter:drop-shadow(0 3px 4px #304b6026);transition:transform .3s}.author-float img{width:100%;height:auto;display:block;max-height:180px;object-fit:contain}@media(hover:hover) and (pointer:fine){.float-motion:hover{transform:translateY(-7px) rotate(-5deg)}}@media(min-width:651px){.category-panel:not([open]) nav{display:none}}@media(max-width:900px){.site{padding:25px 24px 0}.layout{grid-template-columns:185px minmax(0,1fr);gap:22px}.sidebar{padding:5px 8px}.paper{padding:32px 29px}.post-image{width:100px;flex-basis:100px}.post-image img{height:110px}.hero{padding:35px;min-height:290px}}@media(max-width:650px){.site{padding:18px 16px 0}.hero{min-height:275px;padding:30px 27px;border-radius:18px}.hero h1{font-size:calc(var(--xfy-site-title-size)*.82)}.hero p{font-size:12px;max-width:270px}.hero-caption{font-size:10px}.layout{display:block;padding:26px 0 38px}.sidebar{padding:0 8px 22px}.author-card{display:grid;grid-template-columns:58px 1fr;column-gap:16px;padding-bottom:20px;margin-bottom:16px}.author-avatar{width:58px;height:58px;grid-row:1/3;margin:0}.author-card h2{margin-bottom:3px}.author-card p{line-height:1.9}.category-panel summary>svg{display:block}.category-panel summary strong{margin:0}.category-panel summary small{display:none}.category-panel nav{margin-top:14px}.side-recent,.side-note{display:none}.paper{padding:29px 26px 32px;border-radius:18px}.paper:after{inset:10px;border-radius:11px}.feed-heading{gap:9px}.feed-heading h1{font-size:21px}.search-form{max-width:110px}.post-card{gap:14px;padding:25px 0}.post-card h2{font-size:calc(var(--xfy-list-title-size)*.92)}.post-image{width:80px;flex-basis:80px}.post-image img{height:95px}.archive-grid{grid-template-columns:1fr}.article>h1{font-size:calc(var(--xfy-list-title-size)*1.15)}.site-footer{gap:12px;padding-bottom:95px}.site-footer>small{width:100%}.author-float{right:14px;bottom:15px;width:min(var(--xfy-float-width),72px)}.author-float img{max-height:110px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.author-float{transition:none}.float-motion:hover{transform:none}}
:root{--xfy-title-size:21px}.hero{background-size:cover;background-position:center}.hero-texture{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.hero-bottom{font-size:11px;letter-spacing:.22em;color:#557c76;display:flex;align-items:center;gap:18px}.little-line{width:45px;height:1px;background:currentColor;opacity:.5}.post-card h2{font-size:var(--xfy-title-size)}.archive-grid .post-card h2{font-size:calc(var(--xfy-title-size)*.8)}.article>h1{font-size:calc(var(--xfy-title-size)*1.35)}@media(max-width:650px){.post-card h2{font-size:calc(var(--xfy-title-size)*.92)}.article>h1{font-size:calc(var(--xfy-title-size)*1.15)}}
.author-card h2{color:var(--xfy-sidebar-text)}.search-form label{min-width:0;flex:1}.search-form button{display:flex;align-items:center}.category-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}
.entry-content .alignwide,.entry-content .alignfull{width:100%;max-width:100%;margin-left:0;margin-right:0}.empty>.search-form{margin:20px auto;max-width:240px}

/* 1.1.0: shared masthead, independent sidebar colors and archive action group. */
.hero{background:linear-gradient(110deg,#fbf8ed 0%,#f5f6ed 58%,#eaf2ed 100%)}
.hero-home,.hero-home:hover{color:#4e6670;text-decoration:none;cursor:pointer}
.hero-home:focus-visible{outline:2px solid #35596a;outline-offset:5px}
.hero-site-title{font:500 var(--xfy-site-title-size)/1.3 "Songti SC","Noto Serif CJK SC","SimSun",serif;letter-spacing:.12em;color:#35596a;margin:0 0 19px}
.sidebar .author-card h2{color:var(--xfy-author-name-color,var(--xfy-sidebar-text))}
.sidebar .author-card p{color:var(--xfy-author-bio-color,var(--xfy-sidebar-text))}
.sidebar .category-all,.sidebar .category-row>a,.sidebar .category-toggle{color:var(--xfy-category-color,var(--xfy-sidebar-text))}
.sidebar .side-recent a{color:var(--xfy-recent-color,var(--xfy-sidebar-text))}
.sidebar .side-note,.sidebar .side-note small{color:var(--xfy-note-color,var(--xfy-sidebar-text))}
.sidebar .category-count{color:var(--xfy-counts)}
.sidebar .author-avatar{background:none;border:0;box-shadow:none;border-radius:0;overflow:visible}
.sidebar .author-avatar img{width:100%;height:100%;object-fit:contain;border-radius:0}
.feed-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-left:auto;flex-shrink:0}
.feed-actions .archive-toggle{margin:0;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #becdb8;border-radius:20px;background:#edf0e5;color:#617e70;font-size:11px;white-space:nowrap;text-decoration:none}
.feed-actions .archive-toggle:hover{background:#e1e9df}
.feed-actions .search-form{margin:0;width:150px}
.archive-grid{gap:18px;padding-top:14px}
.archive-grid .post-card{display:block;padding:20px;border:1px solid #d8ded0;border-radius:12px;background:#fdfbf455;min-width:0}
.archive-grid .post-card h2{font-size:calc(var(--xfy-title-size)*.86);line-height:1.65;margin:13px 0 12px}
.archive-grid .read-link{display:inline-flex;font-size:10px}
@media(max-width:650px){.hero-site-title{font-size:calc(var(--xfy-site-title-size)*.82)}.feed-actions{width:100%;gap:12px;margin-left:0;justify-content:flex-end}.feed-actions .search-form{max-width:none;width:auto;flex:1}.archive-grid{gap:12px}.archive-grid .post-card{padding:18px}.archive-grid .post-card h2{font-size:var(--xfy-title-size)}}

.feed-actions .search-form{border-bottom:0}

/* Center the desktop author image within the sidebar; preserve mobile grid. */
@media(min-width:651px){.sidebar .author-avatar{margin-left:auto;margin-right:auto}}

:root{--serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC",SimSun,serif}
.notes-layout .feed-heading h1{font:normal 24px var(--serif);letter-spacing:2px;margin:11px 0 0}
@media(max-width:900px){.notes-layout .feed-heading h1{font-size:22px}}
@media(max-width:650px){.notes-layout .feed-heading h1{font-size:21px}}

.section-description{font-size:12px;line-height:1.8;color:#7d8881;margin:12px 0 0;letter-spacing:1px}
