/*
Theme Name: 远飞闲记风格
Description: 清爽的个人博客主题，支持文章卡片、深色模式和后台写作入口。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: yuanfei-journal
*/

html[data-theme="dark"] .article-card{border-color:rgba(63,63,70,.55)}
html[data-theme="dark"] .article-card:hover{border-color:rgba(251,146,60,.45);box-shadow:0 14px 34px rgba(0,0,0,.24)}
html[data-theme="dark"] .card-art{background:linear-gradient(135deg,color-mix(in srgb,var(--art-main) 25%,#27272a),color-mix(in srgb,var(--art-alt) 18%,#27272a))}
html[data-theme="dark"] .card-art:before{opacity:.18}
.mobile-panel .write-link{justify-content:center;margin:10px 0 0;font-size:14px}
@media(max-width:380px){.header-actions>.write-link{display:none}}

:root{color-scheme:light;--bg:#fff;--surface:#fff;--surface-soft:#fafafa;--text:#18181b;--muted:#71717a;--faint:#a1a1aa;--border:#e4e4e7;--accent:#f97316;--accent-deep:#ea580c;--shadow:0 1px 2px rgba(24,24,27,.04),0 2px 8px rgba(24,24,27,.035)}
html[data-theme="dark"]{color-scheme:dark;--bg:#18181b;--surface:#27272a;--surface-soft:#202024;--text:#f4f4f5;--muted:#a1a1aa;--faint:#71717a;--border:#3f3f46;--accent:#fb923c;--accent-deep:#fdba74;--shadow:0 2px 12px rgba(0,0,0,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}svg{display:block}img{max-width:100%;height:auto}.site-shell{min-height:100vh;display:flex;flex-direction:column}.container{width:min(100% - 32px,1024px);margin-inline:auto}.site-main{flex:1;position:relative}.screen-reader-text{position:absolute!important;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{position:fixed!important;top:12px;left:12px;z-index:999;width:auto;height:auto;padding:12px 16px;background:var(--surface);clip:auto}

.site-header{height:64px;position:sticky;top:0;z-index:90;background:rgba(255,255,255,.85);border-bottom:1px solid rgba(228,228,231,.65);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}html[data-theme="dark"] .site-header{background:rgba(24,24,27,.9);border-color:rgba(63,63,70,.45)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:9px;flex-shrink:0}.brand-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ef4444);box-shadow:0 0 7px rgba(249,115,22,.4);transition:transform .25s}.brand:hover .brand-dot{transform:scale(1.45)}.brand-name{font-size:18px;font-weight:800;letter-spacing:-.035em;background:linear-gradient(135deg,var(--text),var(--muted));-webkit-background-clip:text;background-clip:text;color:transparent}.brand:hover .brand-name{background-image:linear-gradient(135deg,#f97316,#ef4444,#ec4899)}.desktop-nav{display:flex;align-items:center;gap:3px;margin-left:auto}.nav-link{height:40px;display:inline-flex;align-items:center;gap:7px;position:relative;padding:0 12px;color:var(--muted);font-size:13px;font-weight:600;transition:color .2s}.nav-link svg{width:16px;height:16px;color:var(--faint)}.nav-link:hover,.nav-link.is-active,.nav-link:hover svg,.nav-link.is-active svg{color:var(--accent)}.nav-link.is-active:after{content:"";position:absolute;bottom:3px;left:12px;right:12px;height:2px;border-radius:2px;background:var(--accent)}.nav-separator{height:18px;width:1px;background:var(--border);margin:0 5px}.icon-button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:10px;color:var(--faint);background:transparent;transition:background .2s,color .2s}.icon-button:hover{color:var(--accent);background:rgba(249,115,22,.08)}.icon-button svg{width:18px;height:18px}.header-actions{display:flex;align-items:center;gap:3px}.write-link{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:8px 12px;border:1px solid rgba(249,115,22,.22);border-radius:10px;background:rgba(249,115,22,.07);color:var(--accent-deep);font-size:12px;font-weight:700;white-space:nowrap}.write-link:hover{background:rgba(249,115,22,.14)}.write-link svg{width:15px;height:15px}.mobile-menu-button{display:none}.mobile-panel{display:none}

.hero{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:112px 0 104px}.hero:before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(ellipse 65% 50% at 50% 0%,rgba(249,115,22,.06),transparent 75%),radial-gradient(ellipse 80% 55% at 50% 100%,rgba(236,72,153,.03),transparent 75%)}.hero-grid{position:absolute;z-index:-2;inset:-35%;background-image:linear-gradient(rgba(249,115,22,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(249,115,22,.075) 1px,transparent 1px);background-size:56px 56px;transform:perspective(600px) rotateX(58deg) translateY(-5%);transform-origin:center 30%;mask-image:radial-gradient(ellipse 62% 55% at 50% 35%,#000 10%,rgba(0,0,0,.55) 45%,transparent 75%)}.hero-orb{position:absolute;z-index:-2;border-radius:50%;filter:blur(72px);opacity:.22;pointer-events:none;animation:orb 10s ease-in-out infinite}.hero-orb.one{width:340px;height:340px;top:-40px;right:3%;background:#fb923c}.hero-orb.two{width:280px;height:280px;bottom:0;left:5%;background:#f9a8d4;animation-delay:-4s}.hero-orb.three{width:220px;height:220px;top:35%;left:55%;background:#fcd34d;animation-delay:-7s}.hero:after{content:"";position:absolute;z-index:-1;bottom:0;left:0;right:0;height:115px;background:linear-gradient(transparent,var(--bg))}.hero h1{margin:0 0 18px;font-size:48px;line-height:1.1;font-weight:800;letter-spacing:-.04em;background:linear-gradient(135deg,var(--text) 0%,var(--muted) 50%,var(--text) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{margin:0;color:var(--muted);font-size:19px;line-height:1.8}.hero-mark{width:48px;height:4px;border-radius:4px;margin:28px auto 0;background:linear-gradient(90deg,#fb923c,#ea580c)}@keyframes orb{50%{transform:translate(20px,-14px)}}

.articles-section{padding:0 0 80px}.section-heading{display:flex;align-items:center;gap:16px;margin-bottom:40px}.section-heading h2{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap;font-size:16px;font-weight:700;letter-spacing:.08em;color:var(--accent-deep)}.section-line{height:1px;flex:1;background:linear-gradient(90deg,rgba(249,115,22,.32),transparent)}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.article-card{min-width:0;overflow:hidden;border:1px solid rgba(228,228,231,.7);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);position:relative;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .3s}.article-card:before{content:"";position:absolute;z-index:2;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f97316,#f59e0b,#ec4899);opacity:0;transition:opacity .3s}.article-card:hover{transform:translateY(-6px);border-color:rgba(249,115,22,.34);box-shadow:0 14px 34px rgba(24,24,27,.1)}.article-card:hover:before{opacity:1}.card-link{display:flex;flex-direction:column;height:100%}.card-media{aspect-ratio:16/9;overflow:hidden;background:var(--surface-soft)}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.article-card:hover .card-media img,.article-card:hover .card-art{transform:scale(1.05)}.card-art{width:100%;height:100%;position:relative;display:grid;place-content:center;justify-items:center;gap:13px;background:linear-gradient(135deg,var(--art-a,#ffedd5),var(--art-b,#fef3c7));transition:transform .7s}.card-art:before{content:"";position:absolute;inset:0;opacity:.5;background-image:radial-gradient(circle,rgba(255,255,255,.65) 1px,transparent 1.5px);background-size:18px 18px}.card-letter{position:relative;width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--art-main,#f97316),var(--art-alt,#f59e0b));box-shadow:0 8px 20px rgba(0,0,0,.12);color:#fff;font-size:26px;font-weight:800}.card-lines{position:relative;display:flex;align-items:center;gap:5px}.card-lines i{width:25px;height:3px;border-radius:3px;background:rgba(255,255,255,.58)}.card-lines i:nth-child(2){width:44px;opacity:.75}.card-lines i:nth-child(3){width:18px}.card-body{display:flex;flex-direction:column;flex:1;min-height:194px;padding:20px 22px 22px}.card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--faint);font-size:11px;letter-spacing:.025em}.meta-dot{width:3px;height:3px;border-radius:50%;background:var(--faint)}.card-title{margin:12px 0 0;font-size:16px;font-weight:650;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}.article-card:hover .card-title{color:var(--accent-deep)}.card-excerpt{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:16px}.tag-pill{display:inline-block;padding:5px 10px;border-radius:999px;background:rgba(249,115,22,.08);color:var(--accent-deep);font-size:11px;font-weight:600}.tag-pill:before{content:"#";opacity:.65;margin-right:2px}.empty-card{grid-column:1/-1;padding:42px;text-align:center;border:1px dashed var(--border);border-radius:16px;color:var(--muted)}.empty-card h3{margin:0 0 8px;color:var(--text)}.empty-card p{margin:0 0 20px}.button-primary{display:inline-flex;align-items:center;justify-content:center;padding:10px 17px;border-radius:10px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:13px;font-weight:700}.button-primary:hover{filter:brightness(1.08)}.pagination{margin:42px 0 0;display:flex;justify-content:center;gap:8px}.pagination .page-numbers{padding:8px 13px;border:1px solid var(--border);border-radius:9px;color:var(--muted);font-size:13px}.pagination .current,.pagination a:hover{border-color:var(--accent);color:var(--accent)}

.inner-page{padding:58px 0 90px}.page-heading{margin-bottom:42px;text-align:center}.page-heading h1{margin:0 0 12px;font-size:36px;line-height:1.25;letter-spacing:-.035em}.page-heading p{margin:0;color:var(--muted);font-size:15px}.content-narrow{max-width:760px;margin-inline:auto}.content-panel{padding:38px 44px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.entry-content{font-size:16px;line-height:1.9;overflow-wrap:anywhere}.entry-content>:first-child{margin-top:0}.entry-content h2,.entry-content h3{line-height:1.4;margin:1.8em 0 .7em}.entry-content h2{font-size:1.55em}.entry-content h3{font-size:1.25em}.entry-content p{margin:0 0 1.2em}.entry-content a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}.entry-content blockquote{margin:1.5em 0;padding:10px 20px;border-left:3px solid var(--accent);background:var(--surface-soft);color:var(--muted)}.entry-content pre{overflow:auto;padding:20px;border-radius:12px;background:#27272a;color:#fafafa;line-height:1.6}.entry-content code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.entry-content img{border-radius:10px}.entry-content ul,.entry-content ol{padding-left:1.5em}.entry-content li{margin:.3em 0}.entry-meta{display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap;color:var(--faint);font-size:13px}.entry-cover{width:100%;border-radius:16px;margin-bottom:30px}.post-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:34px;padding-top:22px;border-top:1px solid var(--border)}.post-footer a{color:var(--accent-deep);font-size:13px;font-weight:600}.archive-list{list-style:none;margin:0;padding:0}.archive-list li{display:flex;gap:22px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--border)}.archive-list time{flex-shrink:0;color:var(--faint);font-size:13px}.archive-list a{font-weight:600}.archive-list a:hover{color:var(--accent)}.tag-cloud-wrap{display:flex;flex-wrap:wrap;gap:10px}.tag-cloud-wrap a{padding:8px 13px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:13px}.tag-cloud-wrap a:hover{border-color:var(--accent);color:var(--accent)}.search-form{display:flex;gap:8px}.search-form input{min-width:0;flex:1;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}.search-form button{border:0}.search-overlay{position:fixed;z-index:200;inset:0;display:none;align-items:flex-start;justify-content:center;padding:15vh 20px 20px;background:rgba(24,24,27,.58);backdrop-filter:blur(5px)}.search-overlay.is-open{display:flex}.search-dialog{width:min(100%,560px);padding:25px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.2)}.search-dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.search-dialog-head h2{margin:0;font-size:18px}.site-footer{padding:36px 0;border-top:1px solid var(--border);color:var(--faint);font-size:12px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{display:flex;align-items:center;gap:8px;color:var(--text);font-size:13px;font-weight:700}.footer-brand .brand-dot{width:7px;height:7px}.footer-copy{margin-top:6px}.footer-links{display:flex;gap:18px}.footer-links a:hover{color:var(--accent)}

@media(max-width:1000px){.desktop-nav .nav-link{padding-inline:8px}.header-actions .write-link{padding-inline:9px}.article-grid{gap:20px}}@media(max-width:800px){.desktop-nav{display:none}.mobile-menu-button{display:grid}.mobile-panel{display:none;position:fixed;z-index:85;top:64px;left:0;right:0;padding:20px 16px 26px;border-bottom:1px solid var(--border);background:var(--surface);box-shadow:0 20px 30px rgba(0,0,0,.08)}.mobile-panel.is-open{display:block}.mobile-panel nav{display:grid;gap:6px;width:min(100%,430px);margin:auto}.mobile-panel .nav-link{height:48px;padding:0 16px;border-radius:12px;font-size:15px}.mobile-panel .nav-link.is-active{background:rgba(249,115,22,.09)}.mobile-panel .nav-link.is-active:after{display:none}.mobile-panel .nav-link svg{width:18px;height:18px}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:88px 0 76px}}@media(max-width:620px){.container{width:min(100% - 32px,1024px)}.site-header{height:56px}.brand-name{font-size:16px}.mobile-panel{top:56px}.header-actions .write-link{margin-left:4px;font-size:0;padding:9px}.header-actions .write-link svg{width:17px;height:17px}.hero{padding:70px 0 68px}.hero h1{font-size:32px;margin-bottom:14px}.hero p{font-size:16px}.hero-mark{width:40px;margin-top:22px}.articles-section{padding-bottom:60px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:14px}.article-grid{grid-template-columns:1fr;gap:18px}.card-body{min-height:0;padding:19px}.card-title{font-size:16px}.card-excerpt{display:none}.inner-page{padding:38px 0 60px}.page-heading{margin-bottom:26px}.page-heading h1{font-size:28px}.content-panel{padding:26px 20px}.entry-content{font-size:15px}.archive-list li{gap:12px}.footer-inner{align-items:flex-start;flex-direction:column}.site-footer{padding:30px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
