/* Minimal personal-content and accessibility adaptations. Visual rules live in the captured reference stylesheets. */
.with-video-bg .home-video-bg{inset:0;pointer-events:none}.with-video-bg #banner .banner-container{right:0}#homeVideoVolBtn{position:fixed;left:50%;bottom:12rem;z-index:99;background:rgba(209,189,0,.7);transform:translateX(-50%);border:0;color:#fff;cursor:pointer}
#banner .banner-container{inset:0}.profile-pending{appearance:none;border:0;background:none;cursor:pointer;font:inherit;padding:0;color:inherit}.links-of-author{display:flex;align-items:center;justify-content:center}.banner-social-links .links-of-author-item{width:48px;height:48px}.profile-pending:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid #d1bd00;outline-offset:3px}.profile-note{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#fff;color:#555;padding:12px 20px;border-radius:6px;box-shadow:0 3px 20px #0002;z-index:100;font-size:14px;max-width:80vw}.dark .profile-note{background:#17202a;color:#eee}
.article-cover{display:block;width:100%;height:auto;aspect-ratio:2;object-fit:cover}#post .post-block{padding:0}.article-cover~.post-header{padding:24px 24px 20px}.post-content{padding-top:8px;padding-bottom:32px}.post-toc{padding:0 16px;font-weight:900}a.post-card-cover{display:block}.toc-heading{text-align:center;font-family:'Noto Serif SC','Source Han Serif CN',STZhongsong,serif;font-size:20px;font-weight:900;margin:0 0 12px}#post-toc-wrap{box-sizing:border-box}#post .post-body{overflow-wrap:anywhere}.sidebar::-webkit-scrollbar{width:0}.sidebar{scrollbar-width:none}.search-popup:not(.show){visibility:hidden;pointer-events:none}.search-result-container.no-result::after{content:'输入关键词查找文章；没有结果时，试试其他词。';display:block;text-align:center;padding:32px;font-size:14px;color:#777}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gallery-grid a{display:block}.gallery-grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:5px}.gallery-grid span{display:block;padding:10px 0;font-size:14px}
@media(min-width:1366px){.is-post .sidebar-right-toc{z-index:0}.is-post #site-sidebar{z-index:10}.is-post #post-toc-wrap{top:40px!important;bottom:0;overflow-y:auto;pointer-events:auto}}
@media(max-width:600px){.gallery-grid{grid-template-columns:1fr}.article-cover{aspect-ratio:2}#post .post-body{padding:0 20px}.article-cover~.post-header{padding:20px 16px 8px}#post .post-title{font-size:26px}.search-popup{max-width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:0s!important}.banner-char-container .char-box,#banner .banner-about-link,#banner .banner-social-links{opacity:1!important}.banner-char-container .char-left{border-left-width:var(--banner-empty-border-size)}.banner-char-container .char-right{border-right-width:var(--banner-empty-border-size)}}



@media(min-width:1025px){#post .post-body{padding-left:96px;padding-right:96px}}


/* Endfield palette: paper white, graphite and safety yellow. */
:root{--endfield-yellow:#f4ec00;--endfield-ink:#20221c;--hty-primary-color:#a38f00;--hty-primary-color-light:#f4ec00;--hty-primary-color-dark:#827400;--yun-bg-image-opacity:.65}html.dark{--hty-primary-color:#f4ec00;--hty-bg-color:#161914;--hty-text-color:#eceee6}
#menu-btn,#search,#homeVideoVolBtn{background:#f4ec00!important;color:#20221c!important;box-shadow:0 2px 16px #0002}#menu-btn:hover,#search:hover{background:#20221c!important}#search .icon,#homeVideoVolBtn .icon{color:#20221c!important}#search:hover .icon{color:#f4ec00!important}.hamburger-inner,.hamburger-inner::before,.hamburger-inner::after{background:#20221c!important}
#banner .banner-about-link{color:#20221c;background:rgba(255,255,244,.82);border:1px solid #20221c18}#banner .banner-about-link:hover{background:#f4ec00!important;box-shadow:0 0 14px #f4ec0066!important;color:#20221c!important}#goDown{color:#d1bd00}.site-author-avatar img{background:#e8e8da;border-color:#d1bd00}.links-of-author-item{color:#a18e00!important}.dark .links-of-author-item{color:#f4ec00!important}.post-toc ol .toc-link,.markdown-body a,a{color:#8b7900}.dark a,.dark .markdown-body a,.dark .post-toc ol .toc-link{color:#e7dd39}a:hover,.markdown-body a:hover{color:#20221c}.dark a:hover{color:#fff}.markdown-body a:hover{border-bottom-color:#d1bd00}strong{color:#a18e00}.post-toc .active-current>.toc-link{color:#9b8700!important}.post-card__actions a{background:#f4ec00!important;color:#20221c!important}.post-card .post-title-link{color:#20221c}.dark .post-card .post-title-link{color:#fff}.post-card:first-child .post-title-link,.post-card:nth-child(2) .post-title-link{color:#fff}.post-nav a{color:#827400}blockquote{border-left-color:#d1bd00!important;background:#e8dc0020!important}.toc-heading{color:inherit}html:not(.dark) .search-popup{background-image:linear-gradient(#fffffff0,#fffffff0),url(/assets/endfield/hero.jpg)}.dark .search-popup{background-image:linear-gradient(#161914ef,#161914ef),url(/assets/endfield/cover-2.jpg)}.search-result-container{background-size:180px!important;background-position:right bottom!important}.dark .sidebar{background-position:left bottom!important}.profile-note{border-left:4px solid #f4ec00}#footer a{color:#827400!important}.dark #footer a{color:#e7dd39!important}.sidebar-right-toc{background-size:180px!important}.with-video-bg .banner-about-link{background:#fffce2c9!important}
@media(max-width:600px){html:not(.dark) body::before{background-position:center!important}}


.links-of-author-item .icon{color:inherit!important}.links-of-author-item:hover{color:#20221c!important}.dark .links-of-author-item:hover{color:#fff!important}
/* Hold-to-enter landing screen; underlying navigation remains visually present. */
body.entry-gated{overflow:hidden;height:100dvh}.entry-gated #recent-posts,.entry-gated #footer,.entry-gated #goDown,.entry-gated #back-to-top{visibility:hidden}.entry-gated .home-video-bg{inset:0;opacity:1;transition:opacity .42s ease}.entry-gated #banner{height:100dvh}.hold-entry{position:fixed;left:50%;bottom:4rem;transform:translateX(-50%);z-index:100;text-align:center;color:#fff;transition:opacity .42s ease,transform .42s ease}.hold-entry-button{position:relative;width:76px;height:76px;padding:0;border:0;border-radius:50%;background:#fff;color:#22251c;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;box-shadow:0 4px 24px #0003;transition:transform .15s,background .15s}.hold-entry-button.holding{transform:scale(.96);background:#fffef1}.hold-entry-ring{position:absolute;inset:-9px;width:94px;height:94px;transform:rotate(-90deg);overflow:visible;fill:none;stroke-width:3}.hold-entry-track{stroke:#ffffff50}.hold-entry-progress{stroke:#f4ec00;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.hold-entry-symbol{width:28px;height:28px}.hold-entry p{margin:22px 0 0;font-size:16px;font-weight:500;letter-spacing:.22em;text-shadow:0 2px 8px #0008}.hold-entry-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.entry-complete .home-video-bg,.entry-complete .hold-entry{opacity:0}.entry-complete .hold-entry{transform:translateX(-50%) translateY(12px)}.entry-gated .with-video-bg{pointer-events:none}@media(max-width:720px){.hold-entry{bottom:max(3rem,env(safe-area-inset-bottom))}.hold-entry-button{width:68px;height:68px}.hold-entry-ring{width:86px;height:86px}}@media(prefers-reduced-motion:reduce){.entry-gated .home-video-bg,.hold-entry{transition:none}}
/* Vinyl mini-player: Cloud Music inspired form, Endfield palette. */
.entry-gated #search{display:none!important}
.music-widget{position:fixed;z-index:110;right:24px;bottom:24px;width:310px;box-sizing:border-box;color:#eee;background:rgba(28,30,29,.9);border:1px solid #ffffff24;border-radius:22px;box-shadow:0 12px 40px #0003;backdrop-filter:blur(24px);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-weight:400;line-height:1.5;letter-spacing:0;overflow:hidden}
.entry-gated .music-widget{top:16px;bottom:auto}.music-widget button{font:inherit;color:inherit;border:0;cursor:pointer;background:none}.music-widget svg{width:20px;height:20px;display:block}.music-mini{display:flex;align-items:center;gap:12px;padding:12px 14px}.music-disc{position:relative;flex:0 0 48px;width:48px;height:48px;padding:0;border-radius:50%;display:grid;place-items:center;isolation:isolate}.music-vinyl{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,#353535 0 1px,#171717 2px 3px);box-shadow:0 2px 8px #0006;animation:music-spin 18s linear infinite;animation-play-state:paused}.music-vinyl:after{content:'';position:absolute;inset:12px;border-radius:50%;background:linear-gradient(#0003,#0003),var(--music-cover) center/cover}.music-disc-icon{z-index:1;display:grid;place-items:center;border-radius:50%;width:25px;height:25px;background:#0008;color:#fff}.is-playing .music-vinyl,.is-playing .music-record{animation-play-state:running}.music-expand{flex:1;min-width:0;text-align:left;padding:0}.music-title{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:14px;font-weight:600}.music-mini-artist{display:block;font-size:11px;color:#b8bab8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.music-panel-toggle{padding:6px;color:#bbb!important}.expanded .music-panel-toggle svg{transform:rotate(180deg)}.music-panel-toggle svg{transition:transform .25s}.music-panel{padding:4px 22px 18px;border-top:1px solid #ffffff0d;animation:music-reveal .25s ease}.music-panel[hidden]{display:none}.music-panel-heading{display:flex;justify-content:space-between;font-size:10px;color:#a8aaa8;margin-top:13px;letter-spacing:.5px}.music-number{color:#d7d9d5;font-variant-numeric:tabular-nums}.music-turntable{height:158px;position:relative;display:grid;place-items:center;margin:4px 0 8px}.music-record{position:relative;width:140px;height:140px;border-radius:50%;background:repeating-radial-gradient(circle,#303231 0 1px,#161817 2px 3px);box-shadow:0 6px 20px #0005,inset 0 0 0 1px #ffffff20;animation:music-spin 18s linear infinite;animation-play-state:paused}.music-record-cover{position:absolute;inset:35px;border-radius:50%;background:var(--music-cover) center/cover;border:3px solid #484a43}.music-record-cover:after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#f4ec00;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #1b1b1b}.music-tonearm{position:absolute;top:4px;right:46px;width:8px;height:70px;border-radius:5px;background:linear-gradient(90deg,#aaa,#ddd,#888);transform:rotate(-30deg);transform-origin:4px 4px;transition:transform .5s}.music-tonearm:after{content:'';position:absolute;bottom:-5px;left:-3px;width:14px;height:22px;background:#c7c9bd;border-radius:3px}.is-playing .music-tonearm{transform:rotate(0deg)}.music-full-title{font-size:18px;font-weight:600;line-height:1.5;margin:0 0 4px;text-align:center}.music-artist{font-size:11px;color:#aeb1ad;margin:0 0 17px;line-height:1.6;text-align:center}.music-widget input[type=range]{appearance:none;background:transparent;cursor:pointer;min-width:0;height:14px;margin:0;accent-color:#f4ec00}.music-widget input[type=range]::-webkit-slider-runnable-track{height:3px;background:#ffffff35;border-radius:10px}.music-widget input[type=range]::-webkit-slider-thumb{appearance:none;width:9px;height:9px;margin-top:-3px;border-radius:50%;background:#f4ec00}.music-widget input[type=range]::-moz-range-track{height:3px;background:#ffffff35}.music-widget input[type=range]::-moz-range-thumb{height:9px;width:9px;border:0;background:#f4ec00}.music-seek{width:100%}.music-time{display:flex;justify-content:space-between;color:#999e97;font-size:10px;font-variant-numeric:tabular-nums;margin-top:1px}.music-controls{display:flex;justify-content:center;align-items:center;gap:26px;margin:13px 0 17px}.music-prev,.music-next{padding:4px}.music-main-play{width:42px;height:42px;background:#f4ec00!important;color:#23251d!important;border-radius:50%;display:grid;place-items:center;box-shadow:0 3px 12px #f4ec0015}.music-volume{display:flex;align-items:center;gap:5px;position:absolute;right:22px;bottom:18px}.music-volume svg{width:13px}.music-volume input{width:42px}.music-playlist{border-top:1px solid #ffffff12;padding-top:8px}.music-playlist button{display:flex;gap:10px;align-items:center;text-align:left;width:100%;padding:9px 10px;font-size:12px;border-radius:8px;transition:background .2s}.music-playlist button>span:first-child{font-size:10px;color:#828781;font-variant-numeric:tabular-nums}.music-playlist button>span:nth-child(2){flex:1}.music-playlist button.selected{background:#f4ec000e;color:#f4ec00}.music-playlist b{font-size:7px}.music-status{margin:12px 85px 0 0!important;font-size:10px;color:#999e97;line-height:1.5;min-height:15px}.music-widget button:focus-visible,.music-widget input:focus-visible{outline:2px solid #f4ec00;outline-offset:3px}.music-widget button:hover{color:#f4ec00}.music-widget.is-loading .music-disc{opacity:.55}.music-widget button{transition:color .2s,transform .2s}.music-main-play:hover{transform:scale(1.06)}
@keyframes music-spin{to{transform:rotate(360deg)}}@keyframes music-reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.music-widget{right:12px;width:280px;bottom:12px;border-radius:18px}.entry-gated .music-widget{top:12px;max-width:calc(100vw - 84px)}.music-mini{gap:10px;padding:10px 12px}.music-title{font-size:13px}.music-mini-artist{font-size:10px}.music-disc{width:42px;height:42px;flex-basis:42px}.music-panel{padding:4px 18px 16px}.music-turntable{height:138px}.music-record{width:120px;height:120px}.music-record-cover{inset:30px}.music-tonearm{right:40px}.music-volume{right:18px;bottom:16px}}
@media(prefers-reduced-motion:reduce){.music-widget *{animation:none!important;transition:none!important}}

.music-widget{-webkit-font-smoothing:antialiased}.music-title{font-weight:500}.music-full-title{font-weight:500}.music-panel{max-height:calc(100dvh - 180px);overflow-y:auto;scrollbar-width:none}.music-panel::-webkit-scrollbar{display:none}.music-widget .music-seek::-webkit-slider-runnable-track{background:linear-gradient(to right,#f4ec00 var(--music-progress,0%),#ffffff35 var(--music-progress,0%))}
@media(max-width:600px){.entry-gated .music-panel{max-height:calc(100dvh - 280px)}}
/* Soft landing transition: continuous background dissolve without an overlay. */
.entry-gated .home-video-bg{transform:scale(1);filter:blur(0);transition:opacity .9s ease-in-out,transform 1.1s cubic-bezier(.2,.65,.3,1),filter .9s ease-in-out;will-change:opacity,transform}
.entry-complete .home-video-bg{opacity:0;transform:scale(1.035);filter:blur(3px)}
.entry-complete .hold-entry{opacity:0;transform:translateX(-50%) scale(.94);transition:opacity .35s ease,transform .5s ease}
.entry-complete #banner .banner-container{opacity:0;transition:opacity .45s ease}
.entry-revealing #banner .banner-container{animation:entry-home-reveal .65s ease-out both}
@keyframes entry-home-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.entry-gated .home-video-bg,.entry-complete .hold-entry,.entry-complete #banner .banner-container{transition:none}.entry-revealing #banner .banner-container{animation:none}}

/* The legacy banner transition also animates layout when video mode is removed. */
.entry-revealing #banner .banner-container{transition:none!important}
html{scrollbar-gutter:stable}
/* Keep the registration number legible over the footer background. */
#footer .beian{margin:12px 0;font-size:14px;line-height:1.6}
#footer .beian a{color:#303328;text-decoration:none}
#footer .beian a:hover,#footer .beian a:focus-visible{text-decoration:underline}
.dark #footer .beian a{color:#f3edb0}
#footer .footer-custom-text{margin:12px 0;font-size:14px;line-height:1.6}
#footer .gongan-beian{display:inline-flex;align-items:center;justify-content:center;gap:6px;vertical-align:middle;text-decoration:none}
#footer .gongan-beian img{width:20px;height:20px;flex-shrink:0;margin:0;object-fit:contain;vertical-align:middle}
#footer .gongan-beian:hover,#footer .gongan-beian:focus-visible{text-decoration:underline}
