body.home-active:before{display:none}body.home-active .topbar,body.home-active>.footer{display:none}body.home-active #app.wrap{width:100%;margin:0}body.home-active .page-edit{position:absolute;z-index:15;right:24px;top:15px;margin:0;background:#f8f9f0e8}html{scroll-behavior:smooth}
@scope (.chosen-home) {
:scope{--ink:#293647;--soft:#738095;--purple:#9180a4;--line:#dadde8;--surface:#f7f7fa;--max:1160px;display:block;background:#f6f7f9;color:var(--ink);font-family:'DM Sans','Microsoft YaHei',sans-serif}500;600;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
*{box-sizing:border-box}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.cover{position:relative;height:100svh;min-height:650px;overflow:hidden;color:#fff}.cover-picture,.cover-shade{position:absolute;inset:0}.cover-picture{background:#aebdc2 url('/assets/wallpaper.png') center/cover no-repeat}.cover-shade{background:linear-gradient(180deg,rgba(32,45,59,.42) 0%,rgba(40,57,71,.17) 36%,rgba(50,60,72,.21) 74%,rgba(35,45,58,.4) 100%)}.nav{position:absolute;z-index:2;top:92px;left:50%;transform:translateX(-50%);width:min(var(--max),calc(100% - 96px));display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:'Playfair Display',Georgia,serif;font-size:21px;letter-spacing:-.02em;text-shadow:0 1px 18px #3b495a50}.wordmark>span{color:#e6dfe7}.wordmark small{display:block;font:600 8px 'DM Sans',sans-serif;letter-spacing:.2em;margin-top:5px;opacity:.75}.nav nav{display:flex;gap:38px;margin-left:auto;margin-right:44px;font-size:12px}.nav nav a{opacity:.78;padding:9px 0}.nav nav a:hover,.nav-current{opacity:1!important}.nav-current:after{display:block;content:'';height:1px;background:#fff;width:100%;margin-top:6px}.nav-end{font-size:17px;opacity:.7}.cover-center{position:absolute;top:50%;left:50%;width:min(90%,780px);transform:translate(-50%,-45%);text-align:center;text-shadow:0 2px 24px #25354680}.cover-kicker{font-size:9px;letter-spacing:.26em;display:flex;align-items:center;justify-content:center;gap:15px;opacity:.84}.cover-kicker span{width:30px;height:1px;background:#ffffff9c}.cover-center h1{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:400;font-size:clamp(34px,4.1vw,59px);letter-spacing:.15em;line-height:1.6;margin:29px 0 20px}.cover-center p{font-size:12px;letter-spacing:.14em;opacity:.9}.cover-mark{font-size:20px;opacity:.72;margin-top:32px}.cover-bottom{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);width:min(var(--max),calc(100% - 96px));display:flex;align-items:end;justify-content:space-between;font-size:9px;letter-spacing:.18em;color:#ffffffbd}.scroll-down{display:flex;flex-direction:column;align-items:center;gap:8px;color:white;font-size:10px;letter-spacing:.12em}.scroll-down b{font-size:26px;font-weight:400;line-height:.6}.home{position:relative;overflow:hidden;background:radial-gradient(ellipse at 86% 15%,#e7def064 0,transparent 32%),radial-gradient(ellipse at 0% 50%,#e1edee80 0,transparent 32%),linear-gradient(160deg,#fbfbfb,#f6f7fa 60%,#f8f7fa)}.home:before{content:'';position:absolute;top:0;left:0;right:0;height:110px;background:linear-gradient(#e6e9ed7a,transparent);pointer-events:none}.home-inner{width:min(var(--max),calc(100% - 96px));margin:auto;position:relative}.section-overline{display:flex;align-items:center;gap:14px;padding:36px 0 0;font-size:9px;letter-spacing:.18em;color:#a2a6b1}.section-overline>span:first-child{font-size:18px;color:#a9adc2}.overline-line{height:1px;flex:1;background:#e2e4ea}.small-label{display:flex;align-items:center;gap:10px;font-size:9px;font-weight:700;letter-spacing:.18em;color:#a19eb6}.small-label span{width:22px;height:1px;background:#b5adc4}.intro{min-height:575px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.intro-text{padding:60px 0 60px 7%}.intro h2,.journal-heading h2{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-weight:400;line-height:1.6;letter-spacing:.07em}.intro h2{font-size:clamp(29px,3vw,42px);margin:23px 0}.intro h2 span,.journal-heading h2 span{color:#8d8ba8}.intro-text>p{font-size:13px;color:#7f8997;line-height:2.1;margin:0 0 12px;max-width:410px}.interest-tags{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 33px}.interest-tags span{font-size:10px;color:#9695ae;border:1px solid #dcdce6;border-radius:30px;padding:7px 12px}.text-link,.all-link{font-size:11px;color:#767b99}.text-link span,.all-link span{margin-left:14px}.art-space{height:510px;position:relative;display:grid;place-items:center;align-self:end}.art-halo{position:absolute;width:80%;height:80%;border-radius:46% 54% 48% 52%;background:radial-gradient(circle,#e1e6f0,#eee9f1aa 55%,transparent 75%);top:7%;left:10%}.art-frame{position:absolute;inset:55px 48px 30px;border:1px solid #d9dbe6;border-radius:210px 210px 8px 8px}.character{position:relative;z-index:2;max-width:100%;width:90%;height:100%;object-fit:contain;object-position:center bottom}.art-caption{position:absolute;top:70px;right:0;z-index:3;writing-mode:vertical-rl;display:flex;gap:13px;color:#9ca2b1}.art-caption span{font-size:8px;letter-spacing:.2em}.art-caption b{font-family:'SimSun',serif;font-size:12px;line-height:1.8;letter-spacing:.18em;font-weight:400}.art-caption i{font-size:18px;font-style:normal;color:#b0b1c3}.art-number{position:absolute;bottom:18px;left:0;font-size:8px;letter-spacing:.16em;color:#a4aab5}.journal{border-top:1px solid #e3e5eb;padding:100px 0 90px}.journal-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.journal-heading h2{font-size:32px;margin:14px 0 0}.all-link{padding-bottom:8px}.journal-layout{display:grid;grid-template-columns:270px 1fr;gap:76px}.journal-note{min-height:330px;padding:30px;background:#ebeef1;position:relative;overflow:hidden}.journal-note:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 22%,#f9edf3,transparent 40%),radial-gradient(circle at 80% 65%,#cddce7,transparent 43%)}.journal-note>*{position:relative}.note-illustration{font-size:40px;color:#b2b6c9;margin-bottom:90px}.journal-note>span,.journal-note small{font-size:8px;letter-spacing:.17em;color:#a2a7b4}.journal-note p{font-family:'SimSun',serif;line-height:1.8;font-size:16px;color:#727c8e}.article-list article{display:grid;grid-template-columns:77px 1fr 22px;gap:22px;padding:0 0 23px;margin-bottom:23px;border-bottom:1px solid #e3e5ea}.article-list article:last-child{margin-bottom:0}.article-date b{font-family:'Playfair Display',serif;font-weight:500;font-size:25px;color:#a9acba;display:block}.article-date span,.article-meta,.article-tags{font-size:9px;letter-spacing:.07em;color:#aeb3bf}.article-meta{color:#9695af}.article-meta span{padding:0 5px}.article-list h3{font-family:'SimSun',serif;font-weight:600;font-size:17px;margin:11px 0;color:#3a4555}.article-list p{font-size:11px;color:#929aa6;line-height:1.8;margin:0 0 12px}.article-arrow{font-size:17px;color:#b3b8c2}.little-note{border-top:1px solid #e3e5ea;padding:36px 0;display:flex;align-items:center;gap:18px}.little-note>span{font-size:27px;color:#a8a9be}.little-note small{font-size:8px;letter-spacing:.18em;color:#adb0be}.little-note p{margin:8px 0 0;color:#8993a1;font-size:11px}.little-note>a{margin-left:auto;color:#9b9fb0}footer{display:flex;justify-content:space-between;padding:32px 0 46px;border-top:1px solid #e3e5ea;color:#b0b4bd;font-size:8px;letter-spacing:.13em;gap:15px}
/* 方案 B：同一套字体和阅读区域，角色与图像构图更活泼。 */
:scope{--purple:#9180a4}:scope .home{background:radial-gradient(ellipse at 75% 14%,#e9d9ebad,transparent 30%),radial-gradient(ellipse at 7% 50%,#d5e9eea0,transparent 32%),linear-gradient(155deg,#fcfbfc,#f6f6fb)}:scope .intro{grid-template-columns:1fr 1.12fr;gap:25px}:scope .intro-text{padding-left:1%}:scope .art-space{height:610px}:scope .art-frame{inset:75px 25px 15px;border-radius:50% 50% 4px 4px;transform:rotate(5deg);border-color:#d8cddf}:scope .art-halo{width:100%;height:85%;left:0;top:4%;background:radial-gradient(ellipse at 50% 48%,#e3d7ee,#e8ebf4b0 54%,transparent 75%)}:scope .character{width:100%}:scope .art-caption{top:100px;right:8px}:scope .section-overline>span:first-child{color:#a692b4}
dialog{width:min(520px,calc(100% - 30px));border:1px solid white;border-radius:20px;background:#f9fafb;color:#344253;padding:0;box-shadow:0 25px 70px #24324455}dialog::backdrop{background:#25303e77;backdrop-filter:blur(4px)}dialog form{padding:30px}.dialog-heading{display:flex;justify-content:space-between;align-items:start}.dialog-heading small{font-size:9px;letter-spacing:.17em;color:#a3a5b8}.dialog-heading h2{font-family:'SimSun',serif;font-size:23px;margin:12px 0}.close{border:0;background:#eef0f2;color:#768292;border-radius:50%;font-size:20px;width:34px;height:34px}.dialog-heading+p{font-size:12px;color:#8a94a2;line-height:1.8}dialog label{display:grid;gap:8px;color:#718092;font-size:12px;margin:19px 0}dialog input,dialog textarea{width:100%;border:1px solid #dfe4ea;background:white;border-radius:8px;padding:10px;color:#344253;font-size:12px}dialog input[type=file]{padding:9px}.dialog-actions{display:flex;justify-content:end;gap:10px}.dialog-actions button{border:0;background:#e8ebee;color:#718092;border-radius:8px;padding:11px 15px;font-size:12px}.dialog-actions .done{background:#8386a4;color:white}
@media(max-width:800px){.cover{min-height:600px}.nav{top:85px;width:calc(100% - 40px)}.nav nav{gap:18px;margin-right:18px}.wordmark{font-size:18px}.wordmark small{font-size:7px}.nav-end{display:none}.cover-center h1{font-size:36px}.cover-bottom{width:calc(100% - 40px)}.cover-bottom>span{font-size:7px;max-width:100px}.home-inner{width:calc(100% - 40px)}.intro{grid-template-columns:1fr;gap:0;min-height:0}.intro-text{padding:65px 0 25px}.intro h2{font-size:32px}.art-space{height:420px;max-width:430px;width:100%;margin:auto}.art-frame{inset:45px 45px 20px}.art-caption{right:10px;top:50px}.art-number{left:10px}.journal{padding:65px 0}.journal-heading h2{font-size:27px}.journal-layout{grid-template-columns:1fr;gap:30px}.journal-note{min-height:150px;padding:20px}.note-illustration{margin-bottom:12px;font-size:26px}.journal-note p{margin:12px 0;font-size:14px}.article-list article{grid-template-columns:52px 1fr 15px;gap:13px}.article-date b{font-size:22px}.article-date span{font-size:8px}:scope .intro{grid-template-columns:1fr}:scope .intro-text{padding-left:0}:scope .art-space{height:450px}footer{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.cover-center h1{white-space:pre-line}
.art-space .character{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom}.intro-text,.article-list{min-width:0}.intro-text p,.article-list p{overflow-wrap:anywhere}
.cover-shade{background:linear-gradient(180deg,rgba(26,40,55,.5) 0%,rgba(33,45,62,.32) 42%,rgba(39,49,63,.3) 75%,rgba(29,39,51,.47) 100%)}
.profile-line{display:flex;align-items:center;gap:12px;margin-bottom:26px}.profile-avatar{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;overflow:hidden;border-radius:50%;border:1px solid #d8d9e6;background:linear-gradient(140deg,#e7e5f0,#e3edf0);color:#8c8ca5;font-family:Georgia,serif;font-size:20px}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-line strong{font-family:Georgia,serif;font-size:14px;color:#606d7e;font-weight:400}.profile-line small{display:block;font-size:8px;letter-spacing:.15em;color:#b1b5c0;margin-top:5px}
.art-space .character.has-mask{mask-image:url('/personal/character-mask.png');mask-mode:alpha;mask-size:contain;mask-position:center bottom;mask-repeat:no-repeat}

.cover{min-height:650px}.home-footer{display:flex;justify-content:space-between;padding:32px 0 46px;border-top:1px solid #e3e5ea;color:#b0b4bd;font-size:8px;letter-spacing:.13em;gap:15px}.scroll-down{border:0;background:transparent;cursor:pointer}.character[hidden]{display:none}.home-activity{margin:0 auto 50px;max-width:850px}.home-activity .contribution-panel{margin:0;padding:22px 28px}.home-activity .contribution-inner{min-width:0}.home-activity .contribution-months{grid-template-columns:repeat(54,8px);gap:3px}.home-activity .contribution-grid{grid-template-rows:repeat(7,8px);grid-auto-columns:8px;gap:3px}.home-activity .contribution-day{width:8px;height:8px;border-radius:2px}.home-activity .contribution-header h2{font-size:15px}.home-activity .contribution-header{margin-bottom:18px}.home-activity .eyebrow{color:#9a9ab0}.home-activity .contribution-header p,.home-activity .active-days{color:#8995a2}.home-activity .glass{background:#ffffffa6;border:1px solid #fff}.home-activity .level-1{background:#b7d5c0}.home-activity .level-2{background:#8bbda0}.home-activity .level-3{background:#63a783}.home-activity .level-4{background:#398761}@media(max-width:800px){.nav{top:70px}.home-footer{font-size:7px}.cover{min-height:600px}.intro h2{font-size:32px}}
}
@media(max-width:450px){@scope (.chosen-home){.intro h2{font-size:28px}}}
.home-activity .contribution-summary{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.home-activity .contribution-year{display:flex;align-items:center;gap:8px}.home-activity .contribution-year-label{font-size:12px;font-weight:600;color:#68778c;min-width:48px;text-align:center}.home-activity .contribution-year button{width:24px;height:24px;display:grid;place-items:center;border:1px solid #e0e5e8;border-radius:50%;background:#ffffffa8;color:#788a98;font-size:16px;line-height:1;cursor:pointer}.home-activity .contribution-year button:disabled{opacity:.35;cursor:default}.home-activity .contribution-year button:focus-visible{outline:2px solid #77789c;outline-offset:2px}.home-activity .contribution-placeholder{display:block;width:8px;height:8px}.home-activity .contribution-day.is-future{background:#f2f3f4;opacity:.75}@media(max-width:480px){.chosen-home .nav{top:65px;flex-wrap:wrap;row-gap:12px}.chosen-home .nav nav{order:3;width:100%;margin:0;justify-content:space-between;gap:8px}.home-activity .contribution-header{align-items:flex-start;gap:12px}}
.home-activity .contribution-scroll-hint{display:none;margin:8px 0 0;font-size:10px;color:#a0aab5}@media(max-width:700px){.home-activity .contribution-scroll-hint{display:block}}

/* Shared, restrained feedback across the cover and reading pages. */
:where(a, button):focus-visible{outline:2px solid #8581a8;outline-offset:4px;border-radius:3px}
.chosen-home .cover :where(a,button):focus-visible{outline-color:#fff}
:where(.topbar nav a,.chosen-home .nav nav a){transition:color .2s ease,opacity .2s ease}
.topbar nav a:hover{color:#617f70}
:where(.text-link,.all-link,.article-arrow,.read-link,.back,.article-neighbors a,.little-note>a){transition:color .2s ease,opacity .2s ease}
:where(.text-link,.all-link,.article-arrow,.read-link,.back,.article-neighbors a,.little-note>a):hover{color:#81749c}
:where(.text-link span,.all-link span,.article-arrow,.scroll-down b){display:inline-block;transition:transform .2s ease}
:where(.text-link,.all-link):hover span,.article-arrow:hover{transform:translate(3px,-2px)}
.scroll-down:hover b{transform:translateY(4px)}
:where(.button,.page-edit,.dialog-close,.filter-chip,.home-activity .contribution-year button){transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}
:where(.button,.page-edit,.dialog-close,.filter-chip,.home-activity .contribution-year button):not(:disabled):hover{box-shadow:0 5px 16px #778b8230}
:where(.button,.page-edit,.dialog-close,.filter-chip,.home-activity .contribution-year button,.scroll-down):not(:disabled):active{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){:where(a,button),:where(.text-link span,.all-link span,.article-arrow,.scroll-down b){transition:none!important;animation:none!important}}

/* Soft light and sparse weather keep the reading pages connected to the cover. */
body:not(.home-active):before{background:radial-gradient(ellipse at 12% 12%,#cbdedc 0,transparent 44%),radial-gradient(ellipse at 90% 26%,#ded2e5 0,transparent 45%),radial-gradient(ellipse at 56% 96%,#d3e2eb 0,transparent 48%),linear-gradient(145deg,#e2eceb,#ede9f0 55%,#dce8ef)}
.chosen-home .home{background:radial-gradient(ellipse at 85% 12%,#d9cbe3bc,transparent 39%),radial-gradient(ellipse at 5% 44%,#cfe3e6bd,transparent 40%),radial-gradient(ellipse at 90% 77%,#d9d3e4a8,transparent 40%),linear-gradient(155deg,#eef1f3,#e4ebf0 58%,#efebf1)}
.atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:10;contain:strict}
.atmosphere i{position:absolute;display:block;top:-24px;left:var(--x);animation:weather-fall var(--duration) linear var(--delay) infinite;will-change:transform}
.atmosphere--snow i{width:var(--size);height:var(--size);color:#fff;opacity:.87;font:400 var(--size)/1 'Segoe UI Symbol','Noto Sans Symbols 2',sans-serif;text-align:center;text-shadow:0 1px 3px #697b99,0 0 7px #e8f1ff;animation-name:snow-fall}.atmosphere--snow i:before{content:'❄︎'}
.atmosphere--rain i{width:1px;height:27px;border-radius:2px;background:linear-gradient(transparent,#718ba9 65%,#d9e8f5);opacity:.68;box-shadow:1px 0 2px #ffffff9c}
body.home-active .atmosphere i{filter:brightness(1.15)}
@keyframes weather-fall{from{transform:translate3d(0,-20px,0) rotate(12deg)}to{transform:translate3d(var(--drift),calc(100vh + 45px),0) rotate(12deg)}}
@keyframes snow-fall{from{transform:translate3d(0,-20px,0) rotate(0deg)}to{transform:translate3d(var(--drift),calc(100vh + 45px),0) rotate(120deg)}}
.click-spark{position:fixed;z-index:20;pointer-events:none;width:28px;height:28px;margin:-14px 0 0 -14px;border:2px solid #957fb3;border-radius:50%;background:radial-gradient(circle,#f7edffcc 0 2px,transparent 4px);box-shadow:0 0 0 1px #ffffffa8,0 0 14px #b29ccc;animation:click-bloom .7s ease-out forwards}
@keyframes click-bloom{0%{opacity:1;transform:scale(.35)}60%{opacity:.8}100%{opacity:0;transform:scale(1.8)}}
@media(prefers-reduced-motion:reduce){.atmosphere,.click-spark{display:none!important}}

/* Wallpaper ambience */
.wallpaper-ambience{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.wallpaper-ambience>div{position:absolute;inset:-12%;background:center/cover no-repeat;filter:blur(16px);opacity:0;transition:opacity 3s ease}
.wallpaper-ambience>div.visible{opacity:1}
.wallpaper-ambience:after{content:'';position:absolute;inset:0;background:rgba(246,248,250,.62)}
body.has-wallpaper-background .chosen-home{background:transparent}
body.has-wallpaper-background .chosen-home .home{background:linear-gradient(155deg,#f8f8fb55,#f5f8fa50)}
@media(prefers-reduced-motion:reduce){.wallpaper-ambience>div{transition:none}}

/* Keep secondary text readable over both light and dark wallpapers. */
body.has-wallpaper-background .topbar nav{color:#34464e}
body.has-wallpaper-background .topbar nav a.active{color:#1f3138}
body.has-wallpaper-background :is(.section-heading p,.post-meta,.post-card p,.card-bottom,.card-number,.result-count,.filter-row,.empty,.timeline-date,.moment-card p,.project-card p,.history-item>span,.history-item p,.about-card p,.article-toc button,.article-neighbors small,.comments-placeholder p,.footer){color:#4c5d64}
body.has-wallpaper-background :is(.eyebrow,.card-tags,.category,.read-link,.all-posts,.filter-chip,.back){color:#435e54}
body.has-wallpaper-background .filter-chip.selected{color:#fff}
body.has-wallpaper-background .chosen-home :is(.intro-text>p,.article-list p,.article-date span,.article-meta,.article-tags,.section-overline,.small-label,.little-note p,.home-footer,.art-number){color:#4c596a}

/* About profile */
.chosen-home .profile-avatar-link{transition:transform .2s ease,box-shadow .2s ease}
.chosen-home .profile-avatar-link:hover{transform:translateY(-2px);box-shadow:0 5px 16px #687b8d44}
.about-page{max-width:1000px;margin:0 auto;padding-top:40px}
.about-profile{overflow:hidden;border-radius:26px;background:rgba(246,247,251,.86)}
.about-cover{height:260px;background:#cbd5e1 url('/assets/wallpaper.png') center 45%/cover no-repeat}
.about-content{padding:0 clamp(26px,6vw,68px) 60px}
.about-profile-avatar{position:relative;margin-top:-56px;width:112px;height:112px;border:4px solid #fff;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(140deg,#e7e5f0,#d6e4ed);color:#8390a3;font-size:45px;box-shadow:0 8px 25px #52607530}
.about-profile-avatar img{width:100%;height:100%;object-fit:cover}
.about-title{padding:24px 0 30px;border-bottom:1px solid #d8dfe5}
.about-title h1{font:500 clamp(35px,4vw,48px)/1.3 'Noto Serif SC','Songti SC','SimSun',serif;color:#273747;margin:14px 0 8px}
.about-title>p{color:#716d99;font-size:11px;font-weight:600;letter-spacing:.16em;margin:0;overflow-wrap:anywhere}
.about-introduction{padding-top:34px;max-width:760px}
.about-introduction h2,.about-timeline h2{color:#344453;font-size:19px;margin:0 0 16px}
.about-introduction p,.about-timeline p{color:#42535d;line-height:1.9;font-size:15px;overflow-wrap:anywhere}
.about-introduction .about-signature{color:#687589}
.about-page .about-timeline{max-width:none;margin:0;padding:34px 0}
.about-page .about-timeline h2{margin:14px 0}
@media(max-width:760px){.about-page{padding-top:20px}.about-cover{height:180px}.about-content{padding-bottom:36px}.about-profile-avatar{width:88px;height:88px;margin-top:-44px}.about-title{padding:20px 0 24px}.about-introduction{padding-top:26px}}
@media(prefers-reduced-motion:reduce){.chosen-home .profile-avatar-link{transition:none}}

/* Content photography */
.chosen-home .article-list article.has-cover{grid-template-columns:80px minmax(0,1fr) 140px;align-items:center;gap:20px}.chosen-home .article-cover{display:block;overflow:hidden;border-radius:10px;aspect-ratio:4/3;background:#e5e9ed}.chosen-home .article-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.chosen-home .article-cover:hover img{transform:scale(1.04)}
@media(max-width:600px){.chosen-home .article-list article.has-cover{grid-template-columns:minmax(0,1fr) 100px;gap:12px}.chosen-home .article-list article.has-cover .article-date{grid-column:1 / -1}.chosen-home .article-cover{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.chosen-home .article-cover img{transition:none}}

/* Image-led stories and moments on the home page */
.chosen-home .home-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.chosen-home .home-story,.chosen-home .home-moment{position:relative;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;border:1px solid #ffffffa6;border-radius:18px;background:linear-gradient(145deg,#e7e7ef,#dce8ea);min-width:0;color:#344252;box-shadow:0 10px 30px #52607812}
.chosen-home .home-story{min-height:300px}.chosen-home .home-moment{min-height:230px}
.chosen-home :is(.home-story,.home-moment)>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease}
.chosen-home :is(.home-story,.home-moment).has-image:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#1e263300 15%,#19213248 48%,#17212cdb 100%)}
.chosen-home :is(.home-story,.home-moment).has-image{color:white}.chosen-home :is(.home-story,.home-moment):is(:hover,:focus-visible)>img{transform:scale(1.045)}
.chosen-home .home-story-copy,.chosen-home .home-moment-copy{padding:24px;max-width:100%;width:100%}.chosen-home .home-story-kicker,.chosen-home .home-moment-copy>span{font-size:10px;letter-spacing:.08em;opacity:.82}.chosen-home .home-story h3{font:600 21px/1.5 'Noto Serif SC','Songti SC','SimSun',serif;margin:12px 0 7px;overflow-wrap:anywhere}.chosen-home .home-story p,.chosen-home .home-moment p{font-size:13px;line-height:1.7;margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:pre-wrap}.chosen-home .home-story-link,.chosen-home .home-moment small{display:block;font-size:10px;margin-top:16px;opacity:.85}.chosen-home .home-story:focus-visible,.chosen-home .home-moment:focus-visible{outline:3px solid #6c73a2;outline-offset:3px}
.chosen-home .home-moments{border-top:1px solid #e3e5eb;padding:70px 0 85px}.chosen-home .home-moment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.chosen-home .home-empty{color:#536170;font-size:14px;line-height:1.8}
@media(max-width:800px){.chosen-home .home-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chosen-home .home-story:first-child{grid-column:1/-1;min-height:260px}.chosen-home .home-moments{padding:55px 0 65px}}
@media(max-width:520px){.chosen-home .home-story-grid,.chosen-home .home-moment-grid{grid-template-columns:1fr}.chosen-home .home-story:first-child{grid-column:auto}.chosen-home .home-story{min-height:250px}.chosen-home .home-moment{min-height:190px}.chosen-home .home-story-copy,.chosen-home .home-moment-copy{padding:20px}}
@media(prefers-reduced-motion:reduce){.chosen-home :is(.home-story,.home-moment)>img{transition:none}.chosen-home :is(.home-story,.home-moment):is(:hover,:focus-visible)>img{transform:none}}

/* Three calm entrances to the journal */
.chosen-home .home-discover{border-top:1px solid #e3e5eb;padding:85px 0 100px}.chosen-home .home-window-grid{display:grid;grid-template-columns:1fr 1.6fr;grid-template-rows:220px 220px;gap:20px}.chosen-home .home-window{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-width:0;overflow:hidden;border:1px solid #ffffffb5;border-radius:20px;background:linear-gradient(135deg,#dce6eb,#e9e3ed);color:#344252;box-shadow:0 12px 32px #57667820}.chosen-home .home-window--articles{grid-row:1 / 3}.chosen-home .home-window>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .55s ease}.chosen-home .home-window.has-image:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#19223112 10%,#17212c4d 55%,#17212ce8 100%)}.chosen-home .home-window.has-image{color:#fff}.chosen-home .home-window:is(:hover,:focus-visible)>img{transform:scale(1.045)}.chosen-home .home-window:focus-visible{outline:3px solid #6c73a2;outline-offset:3px}.chosen-home .home-window-copy{padding:clamp(20px,3vw,32px);max-width:100%}.chosen-home .home-window-copy>span{font-size:11px;letter-spacing:.12em;opacity:.9}.chosen-home .home-window-copy h3{font:600 clamp(20px,2vw,27px)/1.4 'Noto Serif SC','Songti SC','SimSun',serif;margin:10px 0 7px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.chosen-home .home-window-copy p{font-size:13px;line-height:1.7;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:pre-wrap}.chosen-home .home-window-copy small{display:block;margin-top:12px;font-size:10px;opacity:.85}.chosen-home .nav nav{gap:25px}
@media(max-width:800px){.chosen-home .home-discover{padding:65px 0}.chosen-home .home-window-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 200px}.chosen-home .home-window--articles{grid-row:auto;grid-column:1/-1}.chosen-home .nav nav{gap:14px}}
@media(max-width:520px){.chosen-home .home-window-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,220px)}.chosen-home .home-window--articles{grid-column:auto}.chosen-home .nav nav{gap:8px;flex-wrap:wrap}.chosen-home .home-window-copy{padding:22px}}
@media(prefers-reduced-motion:reduce){.chosen-home .home-window>img{transition:none}.chosen-home .home-window:is(:hover,:focus-visible)>img{transform:none}}

/* Theme control joins the home entrances */
.chosen-home .home-window-grid{grid-template-columns:1fr 1.35fr .55fr}.chosen-home .home-window--albums{grid-column:2/4}.chosen-home .home-theme{grid-column:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px solid #ffffffb5;border-radius:20px;background:linear-gradient(145deg,#f6f2f8dd,#e3ebf2df);color:#344252;cursor:pointer;box-shadow:0 12px 32px #57667820}.chosen-home .theme-symbol{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(140deg,#d4def4,#e8dcee);font-size:32px;color:#6d7094}.chosen-home .theme-name{font-size:17px;font-weight:600}.chosen-home .home-theme small{font-size:11px;color:#758396}.chosen-home .home-theme:focus-visible{outline:3px solid #6c73a2;outline-offset:3px}
@media(max-width:800px){.chosen-home .home-window-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.chosen-home .home-window--articles{grid-column:1/-1;min-height:260px}.chosen-home .home-window--albums{grid-column:1/-1;min-height:200px}.chosen-home .home-window--moments,.chosen-home .home-theme{grid-column:auto;min-height:200px}}
@media(max-width:520px){.chosen-home .home-window-grid{gap:12px}.chosen-home .home-window--articles,.chosen-home .home-window--albums{min-height:210px}.chosen-home .home-window--moments,.chosen-home .home-theme{min-height:180px}.chosen-home .theme-symbol{width:52px;height:52px;font-size:25px}.chosen-home .theme-name{font-size:15px}}
/* Misty night */
body.night-mode{background:#182131;color:#dfe7ef}body.night-mode:before{background:radial-gradient(ellipse at 15% 10%,#36435b,transparent 42%),linear-gradient(145deg,#192331,#242637 65%,#182431)}body.night-mode .wallpaper-ambience:after{background:rgba(15,22,37,.56)}body.night-mode .atmosphere{display:none}body.night-mode:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.45;background-image:radial-gradient(1px 1px at 8% 19%,#e1eaff 95%,transparent),radial-gradient(1.5px 1.5px at 72% 16%,#f2e9ff 95%,transparent),radial-gradient(1px 1px at 89% 42%,#d8e6ff 95%,transparent),radial-gradient(1px 1px at 26% 63%,#d3dfff 95%,transparent),radial-gradient(1.5px 1.5px at 60% 77%,#f0e6ff 95%,transparent);animation:night-glimmer 8s ease-in-out infinite alternate}@keyframes night-glimmer{from{opacity:.25}to{opacity:.6}}
body.night-mode.has-wallpaper-background .chosen-home .home,body.night-mode .chosen-home .home{background:linear-gradient(150deg,#1e293d59,#25293b66)}body.night-mode .chosen-home{background:transparent}body.night-mode .chosen-home .home:before{background:linear-gradient(#26304499,transparent)}body.night-mode .chosen-home :is(.intro h2,.journal-heading h2,.profile-line strong,.home-window:not(.has-image),.home-theme){color:#e2e9f1}body.night-mode .chosen-home :is(.intro-text>p,.section-overline,.small-label,.little-note p,.home-footer,.art-number,.text-link,.art-caption){color:#c1cede}body.night-mode .chosen-home .art-halo{background:radial-gradient(circle,#3c4965,#38364eaa 55%,transparent 75%)}body.night-mode .chosen-home .home-window:not(.has-image),body.night-mode .chosen-home .home-theme{background:linear-gradient(145deg,#33425a,#383449);border-color:#a4b2cd40}body.night-mode .chosen-home .theme-symbol{background:linear-gradient(145deg,#596587,#55506b);color:#f5e8c8}body.night-mode .chosen-home .home-theme small{color:#c5d0df}body.night-mode .chosen-home :is(.home-discover,.little-note){border-color:#94a9c52f}
body.night-mode :is(.glass,.about-profile){background:rgba(34,44,62,.93);border-color:#a7bbd32e}body.night-mode :is(.topbar,.topbar nav,.topbar nav a.active,.section-heading h2,.album-caption h2,.album-detail h1,.article-body h1,.article-body h2,.article-body h3,.about-title h1,.about-introduction h2,.about-timeline h2,.post-timeline-copy h3,.moment-card p,.project-card h3){color:#e5ebf4}body.night-mode :is(.section-heading p,.post-meta,.post-timeline-copy p,.result-count,.filter-row,.empty,.moment-card-header,.card-tags,.album-caption p,.album-caption span,.album-caption small,.article-body,.about-introduction p,.about-timeline p,.history-item p,.footer,.article-toc button,.comments-placeholder p){color:#c1cfdb}body.night-mode.has-wallpaper-background :is(.section-heading p,.post-meta,.result-count,.filter-row,.empty,.card-tags,.footer,.article-toc button,.comments-placeholder p){color:#c1cfdb}body.night-mode .search{background:#2e3c51df;border-color:#aabbd03b}body.night-mode .search input{color:#eef3f8}body.night-mode .filter-chip{background:#3b495d;color:#e0e8ef}body.night-mode .filter-chip.selected{background:#7899a6;color:#fff}body.night-mode .category{background:#3d5860;color:#e0f0e8}body.night-mode .article-body code{background:#354558;color:#e6edf5}body.night-mode .article-body blockquote{background:#314355;color:#d5e0eb}body.night-mode .about-cover{filter:brightness(.72)}body.night-mode .home-activity .contribution-panel{background:#2a3548e8;color:#e4edf6;border-color:#91a5c44a}body.night-mode .home-activity :is(h2,p,.contribution-year-label,.active-days,.contribution-months,.contribution-legend){color:#d5e0ec}body.night-mode .home-activity .contribution-day.level-0{background:#526173}body.night-mode .home-activity .contribution-day.is-future{background:#354356}body.night-mode .post-timeline-item:before{background:#28384c}
@media(prefers-reduced-motion:reduce){body.night-mode:after{animation:none;opacity:.4}}

body.night-mode.has-wallpaper-background :is(.eyebrow,.read-link,.back,.all-posts){color:#bfd0dc}body.night-mode .search input::placeholder{color:#b1c0ce}

/* A visible veil of starlight over the night wallpaper */
body.night-mode:after{opacity:.72;background-image:radial-gradient(2px 2px at 8% 19%,#e1eaff 70%,transparent),radial-gradient(2px 2px at 72% 16%,#f2e9ff 70%,transparent),radial-gradient(1.5px 1.5px at 89% 42%,#d8e6ff 70%,transparent),radial-gradient(2px 2px at 26% 63%,#d3dfff 70%,transparent),radial-gradient(2px 2px at 60% 77%,#f0e6ff 70%,transparent),radial-gradient(1.5px 1.5px at 42% 25%,#dfeaff 70%,transparent),radial-gradient(2px 2px at 15% 82%,#e1eaff 70%,transparent),radial-gradient(1.5px 1.5px at 79% 68%,#dfeaff 70%,transparent),radial-gradient(2px 2px at 50% 48%,#f2e9ff 70%,transparent),radial-gradient(1.5px 1.5px at 93% 84%,#e1eaff 70%,transparent);animation:night-lights 7s ease-in-out infinite alternate}@keyframes night-lights{from{opacity:.4}to{opacity:.9}}@media(prefers-reduced-motion:reduce){body.night-mode:after{animation:none;opacity:.65}}

/* Drifting night lights and responsive text on preview cards */
.night-fireflies{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;display:none}body.night-mode .night-fireflies{display:block}.night-fireflies i{position:absolute;width:4px;height:4px;border-radius:50%;background:#c6f77d;box-shadow:0 0 5px 2px #a8eb65b3,0 0 16px 5px #83d65566;opacity:.6;animation:firefly-drift var(--spark-duration) ease-in-out var(--spark-delay) infinite alternate}.night-fireflies i:nth-child(3n){width:3px;height:3px;background:#a9ed77}.night-fireflies i:nth-child(4n){width:5px;height:5px;background:#e2ffa3}@keyframes firefly-drift{0%{transform:translate3d(-5px,7px,0);opacity:.25}50%{opacity:.85}100%{transform:translate3d(8px,-14px,0);opacity:.4}}
.chosen-home .home-window-copy{transition:transform .4s ease}.chosen-home .home-window-copy h3{transition:letter-spacing .4s ease,text-shadow .4s ease}.chosen-home .home-window-copy small{display:inline-block;transition:transform .4s ease,opacity .4s ease}.chosen-home .home-window:is(:hover,:focus-visible) .home-window-copy{transform:translateY(-6px)}.chosen-home .home-window:is(:hover,:focus-visible) .home-window-copy h3{letter-spacing:.03em;text-shadow:0 2px 14px #1d293c55}.chosen-home .home-window:is(:hover,:focus-visible) .home-window-copy small{transform:translateX(6px);opacity:1}
@media(prefers-reduced-motion:reduce){.night-fireflies i{animation:none;opacity:.55}.chosen-home .home-window-copy,.chosen-home .home-window-copy h3,.chosen-home .home-window-copy small{transition:none}.chosen-home .home-window:is(:hover,:focus-visible) .home-window-copy,.chosen-home .home-window:is(:hover,:focus-visible) .home-window-copy small{transform:none}}

/* 摘录直接置于背景上，使用书写感字体和柔和文字阴影。 */
.page-quote{width:min(850px,100%);margin:12px auto 0;padding:12px clamp(18px,5vw,58px) 20px;text-align:center}
.page-quote blockquote{margin:0 auto 13px;max-width:38em;color:#263e3a;font-family:'STKaiti','KaiTi','Kaiti SC','楷体',serif;font-size:clamp(18px,2vw,24px);font-weight:400;line-height:1.9;letter-spacing:.08em;overflow-wrap:anywhere;text-shadow:0 1px 4px rgba(255,255,255,.95),0 2px 14px rgba(255,255,255,.85)}
.page-quote figcaption{color:#405c53;font-family:'STKaiti','KaiTi','Kaiti SC','楷体',serif;font-size:15px;letter-spacing:.1em;line-height:1.7;text-shadow:0 1px 4px #fff,0 2px 12px #fff}
body.night-mode .page-quote blockquote{color:#f2f2ef;text-shadow:0 1px 4px #182538,0 2px 14px #182538}body.night-mode .page-quote figcaption{color:#dce7e2;text-shadow:0 1px 4px #182538,0 2px 12px #182538}
@media(max-width:760px){.page-quote{margin-top:4px;padding:10px 16px 15px}.page-quote blockquote{font-size:18px;line-height:1.8}.page-quote figcaption{font-size:14px}}

/* 文章阅读页：沿用站点的玻璃质感和日夜配色。 */
.article-page{padding-top:34px}.article-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,290px);gap:24px;align-items:start}.article-paper{min-width:0;overflow:hidden;border-radius:22px}.article-cover{aspect-ratio:16/9;max-height:500px;overflow:hidden;background:#dbe6e2}.article-cover img{display:block;width:100%;height:100%;object-fit:cover}.article-content{padding:clamp(25px,4vw,54px)}.article-content .back{display:inline-block;margin-bottom:26px}.article-header h1{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-size:clamp(29px,3.4vw,45px);line-height:1.38;letter-spacing:.025em;overflow-wrap:anywhere;margin:0 0 20px;color:#263e3a}.article-header .post-meta{font-size:12px;flex-wrap:wrap;gap:12px}.article-header .card-tags{margin:16px 0 0;gap:8px;font-size:12px}.article-header .card-tags span,.post-timeline-copy .card-tags span{padding:5px 10px;background:#dceae3cc;border-radius:7px;color:#496e5d}.article-excerpt{margin:26px 0 0;padding:16px 20px;border-left:3px solid #8aab9a;border-radius:0 10px 10px 0;background:#e7f0e9a8;color:#50675d;line-height:1.9;font-size:15px;overflow-wrap:anywhere}.article-page .article-body{max-width:none;margin-top:36px;font-size:17px;line-height:2.05;overflow-wrap:anywhere}.article-page .article-body h1,.article-page .article-body h2,.article-page .article-body h3{font-family:'Noto Serif SC','Songti SC','SimSun',serif;line-height:1.4;scroll-margin-top:22px;overflow-wrap:anywhere}.article-page .article-body h1{font-size:clamp(28px,3vw,36px);margin:1.5em 0 .6em}.article-page .article-body h2{font-size:clamp(24px,2.5vw,30px);margin:1.5em 0 .6em}.article-page .article-body h3{font-size:21px;margin:1.4em 0 .6em}.article-page .article-body p{margin:0 0 1em}.article-side-stack{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto;display:grid;gap:16px;scrollbar-width:thin}.article-side-card{min-width:0;border-radius:18px;padding:22px}.article-side-card h2{font-size:15px;margin:0 0 16px;color:#344f46}.article-author{text-align:center}.article-author-avatar{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 13px;border-radius:50%;overflow:hidden;background:#dbeae2;color:#7ca494;font-size:28px}.article-author-avatar img{width:100%;height:100%;object-fit:cover}.article-author h2{margin-bottom:8px;font-size:17px}.article-author p{font-size:13px;line-height:1.75;color:#60746a;overflow-wrap:anywhere}.article-author>a:last-child{font-size:12px;color:#547c68}.article-shortcuts>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.article-shortcuts a{font-size:12px;line-height:1.5;padding:9px;background:#edf4ef99;border-radius:8px;color:#567367}.article-recent>a{display:block;padding:9px 0;border-top:1px solid #a9c0b44d}.article-recent strong,.article-recent small{display:block;overflow-wrap:anywhere}.article-recent strong{font-size:13px;line-height:1.55}.article-recent small{margin-top:4px;color:#7d9488;font-size:11px}.article-sidebar .article-toc{position:static;margin:0;border-left:0;padding:22px}.article-toc button,.article-mobile-toc button{display:block;width:100%;text-align:left;border:0;background:none;padding:7px 0;color:#577568;font:inherit;font-size:13px;line-height:1.5;cursor:pointer;overflow-wrap:anywhere}.article-toc .toc-level-2,.article-mobile-toc .toc-level-2{padding-left:12px}.article-toc .toc-level-3,.article-mobile-toc .toc-level-3{padding-left:24px}.article-toc button:hover,.article-mobile-toc button:hover{color:#3f8067}.article-mobile-toc{display:none}.article-mobile-toc[hidden],.article-toc[hidden]{display:none!important}.post-timeline-copy .card-tags{margin:12px 0}.post-timeline-copy h3{font-size:clamp(19px,2vw,23px)}
body.night-mode .article-header h1,body.night-mode .article-side-card h2{color:#edf2f8}body.night-mode .article-excerpt{background:#35465cbf;color:#d4e2e3;border-color:#9fc1b4}body.night-mode .article-author p,body.night-mode .article-recent small{color:#c1cfdb}body.night-mode .article-author>a:last-child,body.night-mode .article-toc button,body.night-mode .article-mobile-toc button{color:#c6dfd3}body.night-mode .article-shortcuts a,body.night-mode .article-header .card-tags span,body.night-mode .post-timeline-copy .card-tags span{background:#40566a;color:#e0eee7}body.night-mode .article-mobile-toc{background:#35465cbf;color:#e3edf2}
@media(max-width:850px){.article-page-grid{grid-template-columns:minmax(0,1fr)}.article-side-stack{position:static;max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr))}.article-sidebar .article-toc{display:none!important}.article-mobile-toc:not([hidden]){display:block;margin:25px 0;padding:14px 17px;border-radius:12px;background:#e8f2ebc9}.article-mobile-toc summary{cursor:pointer;font-weight:600;color:inherit}.article-mobile-toc nav{padding-top:8px}.article-page .article-body{margin-top:28px}}
@media(max-width:480px){.article-page{padding-top:24px}.article-side-stack{grid-template-columns:1fr}.article-content{padding:24px 20px}.article-page .article-body{font-size:16px}.article-cover{aspect-ratio:16/10}}

/* 增强栏目导航与当前所在页面的辨识度。 */
.topbar nav{font-size:14px;font-weight:700;gap:clamp(14px,2.5vw,32px);color:#344c43}.topbar nav a{white-space:nowrap;letter-spacing:.03em}.topbar nav a.active{color:#315f4d}.topbar nav a.active:after{width:22px;height:2px;left:50%;bottom:1px;transform:translateX(-50%);border-radius:2px;background:#6d9d88}.topbar nav a:focus-visible,.chosen-home .nav nav a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}.section-heading p .section-total{display:inline-block;margin-top:6px;font-weight:600;letter-spacing:.04em}body.night-mode .topbar nav a.active{color:#d4f0df}body.night-mode .topbar nav a.active:after{background:#aed2bd}@media(max-width:760px){.topbar nav{font-size:13px}.topbar nav{gap:12px}.section-heading{gap:14px}.section-heading>p{max-width:58%;line-height:1.7;overflow-wrap:anywhere}}

/* 非首页导航与栏目标题：让层级紧凑、栏目名称居中。 */
body:not(.home-active) .topbar{border-bottom:1px solid rgba(112,142,128,.36)}body.night-mode:not(.home-active) .topbar{border-bottom-color:rgba(188,207,219,.35)}body:not(.home-active) #app>.page-edit{margin-top:12px}body:not(.home-active) .inner-page:not(.article-page){padding-top:26px}body:not(.home-active) .inner-page>.section-heading:has(>div>h2){display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;margin-bottom:28px}body:not(.home-active) .inner-page>.section-heading:has(>div>h2)>div{display:contents}body:not(.home-active) .inner-page>.section-heading:has(>div>h2) .eyebrow{grid-column:1;min-width:0;overflow-wrap:anywhere}body:not(.home-active) .inner-page>.section-heading:has(>div>h2) h2{grid-column:2;margin:0;text-align:center;font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-size:clamp(34px,4vw,46px);line-height:1.3;letter-spacing:.06em;white-space:nowrap}body:not(.home-active) .inner-page>.section-heading:has(>div>h2)>p{grid-column:3;max-width:100%;margin:0;text-align:right;line-height:1.75;overflow-wrap:anywhere}@media(max-width:600px){body:not(.home-active) .inner-page>.section-heading:has(>div>h2){gap:7px}body:not(.home-active) .inner-page>.section-heading:has(>div>h2) h2{font-size:30px;letter-spacing:0}body:not(.home-active) .inner-page>.section-heading:has(>div>h2) .eyebrow{font-size:8px;letter-spacing:.08em;gap:4px}body:not(.home-active) .inner-page>.section-heading:has(>div>h2) .eyebrow span{width:8px;flex:none}body:not(.home-active) .inner-page>.section-heading:has(>div>h2)>p{font-size:11px}}

/* 栏目标题上移，介绍文字居中置于标题下方。 */
body:not(.home-active) .inner-page:not(.article-page){padding-top:12px}body:not(.home-active) .inner-page>.section-heading:has(>div>h2){row-gap:9px}body:not(.home-active) .inner-page>.section-heading:has(>div>h2) .eyebrow{grid-row:1}body:not(.home-active) .inner-page>.section-heading:has(>div>h2) h2{grid-row:1}body:not(.home-active) .inner-page>.section-heading:has(>div>h2)>p{grid-column:1 / -1;grid-row:2;justify-self:center;text-align:center;max-width:min(100%,600px)}body:not(.home-active) .inner-page>.section-heading:has(>div>h2)>p:empty{display:none}

/* 搜索与贡献图：保持简洁，并区分建站前的日期。 */
body:not(.home-active) .inner-page>.search{width:min(100%,480px);margin:24px auto 30px}body .home-activity .contribution-day.is-before-start{background:#d4d7d8;opacity:1}body.night-mode .home-activity .contribution-day.is-before-start{background:#626873;opacity:1}

/* 首页内跳转按钮沿用原有文字链接的外观。 */
.discover-jump{border:0;background:transparent;padding:0;text-align:left}.discover-jump:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}

/* 首页陪伴时光与关于页更新记录。 */
.chosen-home .home-uptime{display:flex;align-items:center;gap:20px;max-width:850px;margin:0 auto 50px;padding:26px 30px;border:1px solid #ffffffb8;border-radius:20px;background:linear-gradient(120deg,#f7f9f8d9,#f3edf6cf);box-shadow:0 12px 35px #6b79891a}.uptime-icon{flex:none;display:grid;place-items:center;width:54px;height:54px;border-radius:18px;color:#fff;font-size:27px;background:linear-gradient(145deg,#a1c7b3,#b6acd2);box-shadow:0 7px 20px #8ea9aa4d}.uptime-kicker{color:#8a96a8;font-size:9px;font-weight:700;letter-spacing:.16em}.home-uptime h2{font-family:'Noto Serif SC','Songti SC',serif;font-size:19px;color:#536577;margin:6px 0}.home-uptime p{margin:0;color:#798993;font-size:12px;line-height:1.6}.uptime-value{margin-left:auto;display:grid;gap:6px;text-align:right;white-space:nowrap}.uptime-value span{font-size:10px;color:#879aa0}.uptime-value strong{font-size:15px;letter-spacing:.04em;color:#5f8274;font-variant-numeric:tabular-nums}.about-activity{margin:45px auto 0}.about-activity .contribution-panel{max-width:none}.updates-section{max-width:850px;margin:52px auto 20px}.updates-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.updates-heading h2{font-family:'Noto Serif SC','Songti SC',serif;font-size:27px;color:#334c46;margin:12px 0 0}.updates-heading p{font-size:12px;color:#788b83;line-height:1.7;margin:0;text-align:right}.update-list{list-style:none;position:relative;margin:0;padding:0 0 0 28px}.update-list:before{content:'';position:absolute;left:6px;top:18px;bottom:18px;width:1px;background:#afc7bd}.update-row{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;margin:0 0 14px;border:1px solid #ffffffb0;border-radius:15px;background:#f8fbf9de;box-shadow:0 8px 24px #526b6110}.update-dot{position:absolute;left:-28px;top:50%;width:13px;height:13px;border:2px solid #8eaca0;border-radius:50%;background:#f8fbf9;transform:translateY(-50%)}.update-avatar{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;overflow:hidden;background:#e1ede5;color:#84a994}.update-avatar img{width:100%;height:100%;object-fit:cover}.update-text{display:flex;align-items:baseline;gap:10px;flex:1;min-width:0;flex-wrap:wrap;color:#4b6159;font-size:13px;line-height:1.55}.update-actor{font-weight:700}.update-action{color:#7b9a8a;font-size:12px;white-space:nowrap}.update-title{min-width:0;overflow-wrap:anywhere}.update-title a:hover{text-decoration:underline}.update-row time{flex:none;font-size:11px;color:#81948b;white-space:nowrap;font-variant-numeric:tabular-nums}.update-empty{color:#758b80;font-size:13px}.update-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:24px 0;font-size:12px;color:#718b7e}.update-pagination button{border:1px solid #c3d8cb;border-radius:20px;padding:8px 14px;background:#ffffffa8;color:#567b68;cursor:pointer}.update-pagination button:disabled{opacity:.45;cursor:default}.update-pagination button:focus-visible,.update-title a:focus-visible{outline:2px solid #638f79;outline-offset:3px}
body.night-mode .chosen-home .home-uptime{background:linear-gradient(120deg,#2b3a4fe8,#383a52e8);border-color:#a4b8cd3d}body.night-mode .home-uptime h2,body.night-mode .uptime-value strong{color:#e0ede8}body.night-mode .home-uptime p,body.night-mode .uptime-kicker,body.night-mode .uptime-value span{color:#c1cfdb}body.night-mode .updates-heading h2{color:#e5ebf4}body.night-mode .updates-heading p,body.night-mode .update-empty{color:#c1cfdb}body.night-mode .update-row{background:#27364ce8;border-color:#a7bbd32e}body.night-mode .update-text{color:#e2eaf0}body.night-mode .update-action,body.night-mode .update-row time,body.night-mode .update-pagination{color:#bbd4c7}body.night-mode .update-dot{background:#27364c}body.night-mode .update-pagination button{background:#35485c;color:#deede5;border-color:#93ada0}
@media(max-width:600px){.chosen-home .home-uptime{padding:22px;gap:14px;flex-wrap:wrap}.uptime-value{width:100%;margin:0;padding-left:68px;text-align:left}.updates-heading{align-items:start;flex-direction:column;gap:8px}.updates-heading p{text-align:left}.update-list{padding-left:24px}.update-row{gap:10px;padding:14px;flex-wrap:wrap}.update-dot{left:-24px}.update-row time{margin-left:48px}.update-text{flex:1 1 calc(100% - 48px)}.update-pagination{gap:9px}}

/* 陪伴时光：角色、此刻与运行时长同排，窄屏自然换行。 */
.chosen-home .home-uptime{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(145px,1fr) minmax(200px,1fr);gap:26px;max-width:none;margin:0 0 50px;padding:28px 36px}.uptime-intro{display:flex;align-items:center;gap:18px;min-width:0}.uptime-icon{width:88px;height:88px;overflow:hidden;border-radius:24px}.uptime-icon img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 5px #344e5933)}.uptime-clock,.uptime-value{min-width:0;display:grid;gap:7px;justify-items:center;text-align:center}.uptime-clock>span,.uptime-value>span{font-size:11px;color:#879aa0;letter-spacing:.08em}.uptime-clock time{font-size:clamp(22px,2.1vw,28px);font-weight:600;letter-spacing:.06em;color:#536b77;font-variant-numeric:tabular-nums}.uptime-clock small{font-size:11px;color:#8796a0}.uptime-value{margin:0;padding:0;white-space:normal}.uptime-value strong{font-size:clamp(14px,1.3vw,17px);line-height:1.6;white-space:nowrap}body.night-mode .uptime-clock time{color:#e7f0ef}body.night-mode .uptime-clock>span,body.night-mode .uptime-clock small{color:#c1cfdb}@media(max-width:760px){.chosen-home .home-uptime{grid-template-columns:1fr 1fr;gap:20px;padding:24px}.uptime-intro{grid-column:1/-1}.uptime-clock,.uptime-value{width:auto;margin:0;padding:0;text-align:center}.uptime-icon{width:76px;height:76px}}@media(max-width:390px){.chosen-home .home-uptime{grid-template-columns:1fr;gap:18px}.uptime-intro{grid-column:auto}.uptime-clock,.uptime-value{justify-items:start;text-align:left;padding-left:94px}.uptime-value strong{white-space:normal}}

/* 陪伴角色透明融入卡片背景。 */
.chosen-home .uptime-icon{background:transparent;box-shadow:none;border-radius:0;overflow:visible}.chosen-home .uptime-icon img{filter:none}

/* Theme change: two independent character cutouts, with a brief gentle veil. */
.chosen-home .art-space .character{transition:opacity .38s ease}
.chosen-home .art-space .character-night{opacity:0;pointer-events:none;transform:translate(-.1%,.02%) rotate(.24deg) scale(.9993);transform-origin:center}
body.night-mode .chosen-home .art-space.night-ready .character-day{opacity:0}
body.night-mode .chosen-home .art-space.night-ready .character-night{opacity:1}
body.theme-changing::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background:radial-gradient(circle at 50% 40%,rgba(221,218,245,.36),rgba(29,35,63,.45));animation:theme-veil .5s ease both}
@keyframes theme-veil{0%,100%{opacity:0}45%{opacity:1}}
@media(prefers-reduced-motion:reduce){.chosen-home .art-space .character{transition:none}body.theme-changing::after{animation:none;display:none}}

/* Night cover is layered over the day cover only after the image loads. */
.cover-picture-night{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .5s ease}
body.night-mode .cover.night-cover-ready .cover-picture-night{opacity:1}
@media(prefers-reduced-motion:reduce){.cover-picture-night{transition:none}}

/* Match the about cover to the current day or night scene. */
.about-cover{position:relative;overflow:hidden}
.about-cover-night{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:0;pointer-events:none;transition:opacity .5s ease}
body.night-mode .about-cover.night-cover-ready{filter:none}
body.night-mode .about-cover.night-cover-ready .about-cover-night{opacity:1}
@media(prefers-reduced-motion:reduce){.about-cover-night{transition:none}}
