/* 前台共用主题，隔离于后台 Layui/Pear；颜色只通过这一组变量切换。 */
:root{--site-bg:#f8f5ef;--site-surface:#fffdfa;--site-soft:#f0ebe3;--site-line:#e2dbd1;--site-text:#29251f;--site-muted:#70695f;--site-accent:#79573e;--site-accent-hover:#61412c;--site-on-accent:#fffaf2;--site-danger:#a33328;--site-success:#385c40;--site-serif:"Songti SC","Noto Serif CJK SC","SimSun",Georgia,serif}
:root[data-site-theme=dark]{--site-bg:#191813;--site-surface:#25221c;--site-soft:#302c24;--site-line:#454035;--site-text:#f2ece1;--site-muted:#bbb2a4;--site-accent:#d7ae72;--site-accent-hover:#e9c993;--site-on-accent:#211a10;--site-danger:#ffafa1;--site-success:#b4d8af}
:is(.blog-site,.site-login,.site-account,.video-site){color-scheme:light;background:var(--site-bg);color:var(--site-text)}
[data-site-theme=dark] :is(.blog-site,.site-login,.site-account,.video-site){color-scheme:dark}
.site-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* 自定义外观菜单：原生 details 支持键盘，按钮提供明确选中状态。 */
.site-theme-menu{position:relative;flex-shrink:0;z-index:20;font:13px/1.5 system-ui,-apple-system,"Microsoft YaHei",sans-serif;color:var(--site-text)}
.site-theme-menu summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;min-height:44px;padding:9px 12px;border:1px solid var(--site-line);border-radius:24px;background:var(--site-surface);user-select:none}
.site-theme-menu summary::-webkit-details-marker{display:none}.site-theme-menu[open] summary{background:var(--site-soft);border-color:var(--site-accent)}
.site-theme-menu svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.site-theme-menu .site-theme-chevron{width:12px;height:12px;transition:transform .15s}.site-theme-menu[open] .site-theme-chevron{transform:rotate(180deg)}
.site-theme-options{position:absolute;right:0;top:calc(100% + 10px);width:250px;max-width:calc(100vw - 36px);padding:10px;background:var(--site-surface);border:1px solid var(--site-line);border-radius:14px;box-shadow:0 15px 50px #0002}
.site-theme-options>p{padding:10px 11px 14px!important;margin:0!important;font-size:12px!important;font-weight:600;color:var(--site-text)!important;line-height:1.5!important}.site-theme-options>p>span{display:block;font-size:11px;font-weight:400;color:var(--site-muted);margin-top:3px}
:is(.blog-site,.site-login,.site-account,.video-site) .site-theme-options button{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;margin:0;padding:10px 12px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--site-text);font:inherit;text-align:left;cursor:pointer;box-sizing:border-box}
.site-theme-options button>span{flex:1}.site-theme-options button small{display:block;font-size:11px;line-height:1.6;color:var(--site-muted)}.site-theme-options button i{font-style:normal;opacity:0;color:var(--site-accent)}
:is(.blog-site,.site-login,.site-account,.video-site) .site-theme-options button:hover{background:var(--site-soft)}
:is(.blog-site,.site-login,.site-account,.video-site) .site-theme-options button[aria-pressed=true]{background:var(--site-soft);border-color:var(--site-line)}.site-theme-options button[aria-pressed=true] i{opacity:1}.site-theme-options button[aria-pressed=true]>svg{color:var(--site-accent)}
@media(max-width:450px){.site-theme-menu summary{padding:9px;gap:6px}.site-theme-menu .site-theme-chevron{display:none}.site-theme-options{width:235px}}
:is(.blog-site,.site-login,.site-account,.video-site) :focus-visible{outline:2px solid var(--site-accent);outline-offset:4px}
.site-header-actions{display:flex;align-items:center;gap:18px;min-width:0}.site-header-actions>a{min-height:44px;display:inline-flex;align-items:center;font-size:13px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.blog-site{--blog-bg:var(--site-bg);--blog-surface:var(--site-surface);--blog-surface-soft:var(--site-soft);--blog-border:var(--site-line);--blog-ink-primary:var(--site-text);--blog-ink-secondary:var(--site-muted);--blog-ink-muted:var(--site-muted);--blog-copper:var(--site-accent);--blog-copper-hover:var(--site-accent-hover)}
.blog-site .blog-header{border-bottom:1px solid var(--site-line);background:var(--site-bg)}
.blog-site .blog-brand-row{padding-block:20px;border:0;gap:24px;flex-wrap:nowrap}.blog-site .blog-brand{align-items:center;flex-direction:row;gap:10px;flex-shrink:0}.blog-site .blog-logo{width:38px;height:38px;margin:0}.blog-site .blog-brand-mark{font:600 23px/1.25 var(--site-serif);letter-spacing:0}.blog-brand-mark small,.site-public-brand small{display:block;font:8px/1.8 system-ui,sans-serif;letter-spacing:1.8px;margin-top:5px;color:var(--site-muted)}.blog-site .blog-nav-inner{gap:24px;flex-wrap:nowrap}.blog-site .blog-account-link{margin:0;font-weight:500;color:var(--site-text)}
.site-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:58px;padding-block:76px 64px;border-bottom:1px solid var(--site-line)}.site-hero h1{font:600 clamp(32px,4.1vw,54px)/1.4 var(--site-serif);letter-spacing:-1px;margin:22px 0!important}.site-hero-description{font-size:14px;line-height:1.9;color:var(--site-muted);max-width:440px}.site-hero-actions{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}.site-hero-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--site-line);border-radius:8px;font-size:14px}.blog-site .site-action-primary{background:var(--site-accent);color:var(--site-on-accent);border-color:var(--site-accent)}.site-action-secondary{background:var(--site-surface)}.site-landscape{margin:0;position:relative;border-radius:14px;overflow:hidden}.site-landscape img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover}.site-landscape figcaption{position:absolute;left:25px;bottom:22px;color:#fff6dd;font-size:11px;letter-spacing:1px}
.site-journal-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:40px;padding-top:40px;scroll-margin-top:25px}.blog-site .blog-section-heading h2{font-size:28px}.blog-site .blog-section-heading>span{font-size:12px;color:var(--site-muted)}.blog-site .blog-story-grid{grid-template-columns:1fr;gap:0}.blog-site .blog-story{display:grid;grid-template-columns:190px minmax(0,1fr);gap:25px;padding:26px 0;border-bottom:1px solid var(--site-line)}.blog-site .blog-story:first-child{padding-top:0}.blog-site .blog-story-art{border-radius:9px;aspect-ratio:1.4;align-self:start}.blog-site .blog-story-meta{margin:0;font-size:11px;align-items:center}.blog-story-meta>span{padding:3px 7px;background:var(--site-soft);border-radius:4px}.blog-site .blog-story h3{font:600 22px/1.45 var(--site-serif)}.blog-site .blog-story p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.site-story-copy{min-width:0}.site-aside-card{background:var(--site-surface);border:1px solid var(--site-line);padding:25px;border-radius:12px;margin-bottom:20px}.site-aside-card h2{font:600 21px/1.6 var(--site-serif);margin:16px 0!important}.site-aside-card>p:not(.blog-eyebrow){font-size:13px;color:var(--site-muted);line-height:1.9}.site-aside-card>a{display:inline-block;font-size:12px;margin-top:20px;min-height:32px}.site-aside-card nav{display:grid}.site-aside-card nav a{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid var(--site-line);font-size:13px}.site-aside-card nav a[aria-current]{color:var(--site-accent);font-weight:600}.site-aside-card nav a:last-child{border:0}.site-aside-quote{padding:24px}.site-aside-quote>p:last-child{font:20px/1.9 var(--site-serif);margin-top:20px}.blog-site .blog-intro{padding-block:55px 40px}.blog-site .blog-intro h1{font-size:42px}
.blog-site .blog-footer{background:var(--site-bg);color:var(--site-text);border-top:1px solid var(--site-line)}.blog-site .blog-footer-main{padding-block:40px}.blog-site .blog-footer-brand{font-size:25px;display:flex;align-items:center}.blog-site .blog-footer-brand span{display:none}.blog-site .blog-footer-main p,.blog-site .blog-footer-links>span,.blog-site .blog-footer-bottom{color:var(--site-muted)}.blog-site .blog-footer-bottom{border-color:var(--site-line)}
.blog-site .blog-article-head{padding-top:35px}.blog-site .blog-article-head h1{font-size:clamp(30px,4vw,48px)}.blog-site .blog-article-art{border-radius:12px}.blog-site .blog-article-body p,.blog-site .markdown-body :is(h1,h2,h3,h4,h5,h6){color:var(--site-text)}.blog-site .markdown-body :is(h2,th,td,hr){border-color:var(--site-line)}.blog-site .markdown-body :not(pre)>code,.blog-site .markdown-body blockquote,.blog-site .markdown-body th{background:var(--site-soft);color:var(--site-text)}.blog-site .markdown-body a{color:var(--site-accent)}.blog-site .markdown-body pre{background:#24272c;color:#eee}.blog-site .markdown-body blockquote{border-left-color:var(--site-accent)}
.site-public-nav{max-width:1160px;margin:auto;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--site-line)}.site-login a.site-public-brand{display:flex;align-items:center;gap:10px;font:600 23px/1.25 var(--site-serif);color:var(--site-text)}.site-login{padding:0 40px 30px}.site-auth-layout{max-width:1060px;margin:70px auto;display:grid;grid-template-columns:minmax(0,1fr) 440px;align-items:center;gap:80px}.site-auth-intro .site-eyebrow{font-size:11px;color:var(--site-accent);letter-spacing:2px}.site-auth-intro h1{font:600 43px/1.45 var(--site-serif);margin:18px 0 24px}.site-auth-intro>p:not(.site-eyebrow){font-size:14px;line-height:1.9;color:var(--site-muted)}.site-auth-intro>img{display:block;width:100%;height:auto;border-radius:12px;margin-top:32px}
.site-login-panel{width:100%;padding:30px;border:1px solid var(--site-line);border-radius:14px;background:var(--site-surface);box-shadow:0 14px 50px #00000004}.site-login-brand{justify-content:flex-start;margin-bottom:8px}.site-login-brand>img{display:none}.site-login-brand h2{font:600 26px/1.4 var(--site-serif);margin:0}.site-login-subtitle{text-align:left;color:var(--site-muted);margin-bottom:24px}.site-login-form{gap:10px}.site-login .site-login-sr{position:static;width:auto;height:auto;clip-path:none;margin:7px 0 0;font-size:13px;color:var(--site-muted)}.site-login input:not([type=hidden]){height:46px;background:var(--site-surface);color:var(--site-text);border-color:var(--site-line);border-radius:7px}.site-login input:focus{border-color:var(--site-accent);box-shadow:none}.site-login input::placeholder{color:var(--site-muted);opacity:.8}.site-login-submit{background:var(--site-accent);color:var(--site-on-accent);border-radius:7px;margin-top:12px}.site-login-submit:hover{background:var(--site-accent-hover)}.site-login a,.site-login-divider,.site-login-provider{color:var(--site-muted)}.site-login a:hover{color:var(--site-accent)}.site-login-divider:before,.site-login-divider:after{background:var(--site-line)}.site-login-provider:not(:disabled):hover{background:var(--site-soft);border-color:var(--site-line)}.site-login-provider:disabled{color:var(--site-muted);opacity:.65}.site-login-providers{gap:16px}.site-login-error{color:var(--site-danger)}.site-login-notice{background:var(--site-soft);color:var(--site-success)}.site-login .site-login-overlay{border-radius:14px;background:var(--site-surface);color:var(--site-text)}.site-login-overlay p,.site-login .site-login-overlay a{color:var(--site-muted)}.site-login-overlay button{background:var(--site-soft);color:var(--site-text);border-color:var(--site-line)}.site-login-spinner{border-color:var(--site-line);border-top-color:var(--site-accent)}.site-public-footer{text-align:center;color:var(--site-muted);font-size:12px;padding:24px}
.site-account{--site-ink:var(--site-text);--site-paper:var(--site-bg);--site-accent:var(--site-accent-inherit,#79573e)}
[data-site-theme=dark] .site-account{--site-accent-inherit:#d7ae72}
.site-account-nav{border-color:var(--site-line);gap:12px}.site-account-card{background:var(--site-surface);border-color:var(--site-line);box-shadow:none}.site-account h2{font-family:var(--site-serif);font-size:24px}.site-account :is(.site-account-lead,.site-account-muted,small,.site-account-footer){color:var(--site-muted)}.site-account input:not([type=radio]){background:var(--site-surface);border-color:var(--site-line);color:var(--site-text)}.site-account button,.site-account .site-account-button{color:var(--site-on-accent)}.site-account .site-account-secondary{color:var(--site-text);border-color:var(--site-line)}.site-account :is(.site-account-empty,.site-account-notice){background:var(--site-soft);color:var(--site-text)}.site-account .site-account-alert{background:var(--site-soft);color:var(--site-danger);border-color:var(--site-line)}.site-account .site-account-binding,.site-account .site-account-choice{border-color:var(--site-line)}
@media(max-width:1000px){.blog-site .blog-brand-row{gap:16px}.blog-site .blog-nav-inner{gap:15px}.site-header-actions{gap:8px}.site-journal-layout{grid-template-columns:minmax(0,1fr) 240px;gap:25px}.blog-site .blog-story{grid-template-columns:135px minmax(0,1fr);gap:18px}.site-hero{gap:30px}.site-auth-layout{grid-template-columns:minmax(0,1fr) minmax(0,410px);gap:35px}.site-auth-intro h1{font-size:36px}}
@media(max-width:760px){.blog-site .blog-brand-row{flex-wrap:wrap;justify-content:space-between;padding-block:16px;align-items:center}.blog-site .blog-brand-mark{font-size:20px}.blog-site .blog-nav{order:3;width:100%}.blog-site .blog-nav-inner{justify-content:center;gap:36px}.site-header-actions>a{max-width:85px}.site-hero{grid-template-columns:1fr;padding-block:36px;gap:28px}.site-hero h1{font-size:36px}.site-hero-description{font-size:13px}.site-journal-layout{grid-template-columns:1fr;padding-top:30px}.site-journal-aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.site-aside-card{padding:20px;margin:0}.site-aside-quote{display:none}.blog-site .blog-latest{padding-bottom:0}.site-journal-aside{padding-bottom:45px}.site-login{padding-inline:20px}.site-auth-layout{grid-template-columns:1fr;max-width:460px;margin:35px auto;gap:25px}.site-auth-intro>img{display:none}.site-auth-intro h1{font-size:32px;margin:12px 0}.site-auth-intro h1 br{display:none}.site-auth-intro .site-eyebrow{font-size:9px}.site-login-panel{padding:25px}.site-login a.site-public-brand{font-size:19px}.site-public-nav{padding:15px 0}.site-public-nav .site-header-actions>a{display:none}.site-account-nav{flex-wrap:wrap}.site-account-nav .site-header-actions{margin-left:auto}}
@media(max-width:450px){.blog-site .blog-shell{width:calc(100% - 36px)}.blog-site .blog-logo{width:30px;height:30px}.blog-site .blog-brand{gap:6px}.blog-brand-mark small{font-size:6px}.blog-site .blog-brand-mark{font-size:19px}.site-header-actions{gap:5px}.site-header-actions>a{font-size:12px;max-width:75px}.site-hero h1{font-size:31px}.site-landscape figcaption{left:16px;bottom:16px;font-size:9px}.blog-site .blog-story{grid-template-columns:100px minmax(0,1fr);gap:15px;padding-block:22px}.blog-site .blog-story h3{font-size:18px}.blog-site .blog-story-art{aspect-ratio:1;}.blog-site .blog-story-meta{font-size:10px;gap:5px}.blog-site .blog-story p{font-size:12px;margin-block:8px}.site-journal-aside{grid-template-columns:1fr}.blog-site .blog-section-heading h2{font-size:25px}.site-account-brand{font-size:19px}.site-account-nav .site-header-actions>a{font-size:11px}.site-account-nav .site-header-actions{gap:0}}
.site-mobile-categories{display:none}.blog-site .blog-footer-main>div:first-child{max-width:680px}.site-aside-card h2{text-wrap:balance}
@media(min-width:761px) and (max-width:900px){.site-auth-layout{grid-template-columns:1fr;max-width:460px;margin:40px auto;gap:28px}.site-auth-intro>img{display:none}.site-auth-intro h1{font-size:32px}}
@media(max-width:760px){.blog-site .blog-brand-row{flex-direction:row}.site-auth-intro h1 br{display:initial}.site-mobile-categories{display:flex;gap:8px;overflow-x:auto;max-width:100%;margin:0 0 25px;padding:4px 2px 8px}.site-mobile-categories a{flex-shrink:0;min-height:44px;padding:10px 13px;border-radius:7px;border:1px solid var(--site-line);font-size:12px}.site-mobile-categories a[aria-current]{background:var(--site-accent);color:var(--site-on-accent)}}
/* 片库复用站点外观，封面保持原图色彩与比例。 */
.video-site{--video-bg:var(--site-bg);--video-panel:var(--site-surface);--video-line:var(--site-line);--video-text:var(--site-text);--video-muted:var(--site-muted);--video-accent:var(--site-accent)}
.video-site .video-header-right{gap:18px}.video-site .video-intro-note{border-color:var(--site-accent)}.video-site .video-intro-note>span,.video-site .video-eyebrow span,.video-site .video-brand>span{color:var(--site-muted)}
.video-site .video-search input::placeholder{color:var(--site-muted)}.video-site .video-card-title>span{color:var(--site-accent)}.video-site .video-type{color:#fff8e9}.video-site .video-poster{background:var(--site-soft)}
.video-site .video-filter-button [data-filter-count],.video-site .video-mobile-dock [data-filter-count]{background:var(--site-soft);color:var(--site-accent)}
.video-site .video-filters label span{color:var(--site-text);border-color:var(--site-line)}.video-site .video-filters input:checked+span,.video-site .video-primary{background:var(--site-accent);color:var(--site-on-accent);border-color:var(--site-accent)}.video-site .video-filters input:focus-visible+span{outline-color:var(--site-accent)}
.video-site .video-detail-bar,.video-site .video-detail-bottom,.video-site .video-mobile-dock{background:var(--site-surface)}.video-site .video-badge{background:var(--site-soft);border-color:var(--site-line);color:var(--site-accent)}.video-site .video-section p{color:var(--site-muted)}.video-site .video-resource-empty{background:var(--site-soft);border-color:var(--site-line)}.video-site .video-detail-bottom button,.video-site .video-mobile-dock>button:first-child{background:var(--site-accent);color:var(--site-on-accent)}
.video-site dialog::backdrop{background:#090a0ab0}.video-site .video-detail-bottom{box-shadow:0 -4px 24px #00000006}
.video-site .video-primary:hover,.video-site .video-detail-bottom button:hover,.video-site .video-mobile-dock>button:first-child:hover{background:var(--site-accent-hover);color:var(--site-on-accent)}
@media(max-width:700px){.video-site .video-private{display:none}.video-site .video-header-right{gap:0}.video-site .video-header{gap:10px}.video-site .video-brand{gap:8px}}
@media(prefers-reduced-motion:reduce){:is(.blog-site,.site-login,.site-account,.video-site) *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
