/* Shared palace-paper UI: forms and member pages use the same visual language as home. */
.member-avatar{display:inline-block;border-radius:50%;object-fit:cover;border:1px solid #c5a467;flex-shrink:0;background:#f3e8cf}.nav-profile,.compose-label{display:flex!important;align-items:center;gap:10px}.contact-steward{background:#111632;color:#f4e7c5}.contact-steward>.wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;width:min(1280px,calc(100% - 48px))}.contact-steward a span{display:block;margin-top:8px;font-size:13px}.post-card-header>div{flex:1}.account-panel .button-secondary{background:#fff9ed!important;color:#8f2640!important}.account-panel form p{line-height:1.8}.account-panel form>div{margin:18px 0}.account-panel label{line-height:1.8}.account-panel .helptext{display:block;margin-top:8px}.account-panel input:not([type=radio]):not([type=checkbox]){width:100%}.account-panel button{margin:8px 6px 8px 0}
@media(max-width:700px){.contact-steward>.wrap{display:block}.community-note header{flex-wrap:wrap}.account-panel{padding:22px!important}}
:root{--ui-night:#101633;--ui-ink:#202038;--ui-paper:#fffaf1;--ui-gold:#b79957;--ui-red:#b92745;--ui-muted:#77717a;--ui-line:#d9c69b;--ui-serif:"Noto Serif SC","Songti SC","SimSun",serif}
button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{ -webkit-tap-highlight-color:transparent }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b79957;outline-offset:4px}
body .button,body button:not(.site-menu-backdrop):not(.site-menu-close):not(.character-tab):not(.menu-button):not(.notice-dismiss):not([data-character-state]):not([data-motion-toggle]):not([data-motion-pause]){border-radius:7px 7px 14px 7px;min-height:40px;transition:background .18s,box-shadow .18s,transform .18s}
.community-section button,.community-section summary,.reader-actions .button,.fan-play{padding:9px 17px;border:1px solid var(--ui-gold);background:#fffaf3;color:var(--ui-red);text-decoration:none;font-weight:600;cursor:pointer}
.community-section button:hover,.community-section summary:hover,.reader-actions .button:hover,.fan-play:hover{background:#f9ebd3;box-shadow:0 5px 18px #8d6a1914}
body .button-primary,.backend-page .button:not(.button-secondary),.account-panel button[type=submit]{background:linear-gradient(115deg,#93223e,#b72e48);color:#fff9ed;border:1px solid #c68f77;box-shadow:0 4px 0 #72203516}
.backend-page .button-secondary{background:#fff9ed;color:#8f2640;border-color:#c7ad72}
.backend-page{color:var(--ui-ink);background:radial-gradient(ellipse at 0 0,#e3d4b94d,transparent 48%),#f8f2e8}
.backend-page .page-shell{width:min(1240px,calc(100% - 48px));margin:44px auto 80px}
.backend-page .panel{background:var(--ui-paper);border:1px solid #d8c59d;border-radius:12px 12px 28px 12px;box-shadow:0 16px 48px #2118320a;color:var(--ui-ink)}
.backend-page h1,.backend-page h2,.backend-page h3,.newcomer-guide h2,.community-heading h2{font-family:var(--ui-serif);font-weight:700;letter-spacing:.025em}
.backend-page h1{font-size:clamp(30px,3vw,44px)}.backend-page h2{font-size:clamp(23px,2vw,30px)}
.backend-page a{color:#9f2945}.backend-page .eyebrow{color:var(--ui-red);font:600 11px/1.6 ui-monospace,monospace;letter-spacing:.16em}
.backend-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.backend-page select,.backend-page textarea,.community-section textarea{box-sizing:border-box;max-width:100%;padding:12px 14px;border:1px solid #d5c8b1;border-radius:6px;background:#fffdf9;color:var(--ui-ink);box-shadow:inset 0 1px 4px #35253504;line-height:1.7}
.backend-page input[type=checkbox],.backend-page input[type=radio],.community-section input[type=checkbox]{width:18px;height:18px;min-width:18px;accent-color:var(--ui-red);vertical-align:middle}
.backend-page label{color:var(--ui-ink)}.backend-page small,.backend-page .helptext{color:#716a70;line-height:1.8}
.backend-page .notice,.backend-page .local-mail-notice{background:#f1e6d5;border:1px solid #dfcfb2;color:#645565;border-radius:8px;padding:14px 18px;font-size:13px;line-height:1.8}
.backend-page .local-mail-notice{margin-bottom:24px}.backend-page .backend-header{background:var(--ui-night);color:#f7edcf}.backend-page .backend-header a{color:#f7edcf}
.backend-header nav{align-items:center;gap:8px 16px;flex-wrap:wrap}.backend-header nav a{font-size:13px;text-decoration:none}.backend-header nav a:hover{color:#e7c581}
.backend-page .form-errors,.backend-page .errorlist{color:#a2213e;background:#fff0ee;padding:12px 18px;border-radius:6px;overflow-wrap:anywhere}
.notice-stack{max-width:600px;margin:20px auto;padding:0 16px}.action-notice{position:relative;display:flex;gap:12px;align-items:center;background:#fffaf1;color:#42354c;border:1px solid #c7ab68;border-radius:8px 8px 18px 8px;box-shadow:0 10px 30px #19132e20;padding:15px 40px 15px 18px}.action-notice p{margin:0;line-height:1.7}.notice-seal{color:#b58f43;font-size:22px}.action-notice.error{border-color:#b72e48}.notice-stack.is-bubble{position:fixed;z-index:5000;width:max-content;max-width:min(360px,calc(100vw - 24px));padding:0;margin:0;animation:notice-in .2s ease-out}.notice-stack.is-bubble:after{content:"";position:absolute;left:28px;top:-6px;width:11px;height:11px;background:#fffaf1;border-left:1px solid #c7ab68;border-top:1px solid #c7ab68;transform:rotate(45deg)}.notice-dismiss{position:absolute;right:9px;top:8px;width:30px;height:30px;border:0;background:transparent;color:#766774;font-size:22px;cursor:pointer}
@keyframes notice-in{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
.community-section{position:relative;border-top:3px solid #b79957;border-radius:12px 12px 30px 12px;padding:clamp(22px,4vw,44px);background:linear-gradient(135deg,#fffdf7,#fbf3e5);box-shadow:0 18px 50px #3123430b}
.community-heading{padding-bottom:24px;border-bottom:1px solid #daccb3}.community-heading h2{font-size:clamp(26px,3vw,34px)}.community-heading>p{color:#887044;font-size:13px}
.community-compose{border:1px solid #e0cfad;border-radius:10px;background:#fffcf7;padding:22px;gap:14px}.community-compose>label{font-family:var(--ui-serif);font-size:20px}.community-compose textarea{min-height:120px;resize:vertical}
.community-note{border:0;border-bottom:1px solid #e0d5c2;background:transparent;padding:24px 4px}.community-note>header strong,.community-replies strong{color:#3b293f}.community-note>p,.community-replies article>p{line-height:1.9;margin:18px 0}.community-actions{gap:10px}.community-actions button,.community-actions summary,.community-reply-box summary{font-size:12px;padding:6px 12px;min-height:34px}.community-reply-box{margin-top:16px}.community-reply-box[open]{border:1px solid #ddcda8;border-radius:8px;padding:14px;background:#fffaf2}.community-reply-box form,.community-actions details[open] form{display:grid;gap:12px;margin-top:14px}.community-replies{border-left:2px solid #d8bd80;margin-top:24px}.community-replies article{background:#f2e8d84f;border-radius:8px;padding:16px}.community-empty,.community-login{padding:28px;text-align:center;border:1px dashed #d7c49c;border-radius:10px;background:#f7efdf}.community-login a{color:var(--ui-red);font-weight:700;text-underline-offset:5px}
.newcomer-guide{position:relative;background:linear-gradient(180deg,#f9f3e6,#f1e7d6);border-block:1px solid #decdab}.newcomer-guide h2{font-size:clamp(28px,3vw,44px)}.guide-links{gap:24px}.guide-links a{position:relative;min-height:190px;padding:34px 28px;border:1px solid #c5a469;border-radius:70px 8px 12px 8px;background:linear-gradient(135deg,#171d43,#28203b);box-shadow:0 16px 28px #25203713;text-decoration:none;overflow:hidden;transition:transform .2s,box-shadow .2s}.guide-links a:before{content:"";position:absolute;inset:9px;border:1px solid #cdb37355;border-radius:62px 4px 6px 4px;pointer-events:none}.guide-links a:after{content:"✦";position:absolute;right:22px;bottom:16px;font-size:34px;color:#d3b77355}.guide-links a strong{position:relative;color:#f7e8be;font-size:26px}.guide-links a span{position:relative;color:#d0c4c9;max-width:85%;line-height:1.8}.guide-links a:hover{transform:translateY(-4px);box-shadow:0 20px 35px #25203726}.newcomer-guide>.wrap>p:last-child a{color:var(--ui-red);text-underline-offset:5px}
.account-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}.account-layout.is-entrance{display:block}.account-layout .account-panel{max-width:none;margin:0}.account-layout.is-entrance .account-panel{max-width:560px;margin:auto}.account-side{position:sticky;top:24px;padding:24px 18px;border:1px solid #c5ad7d;border-radius:12px;background:#151a39;color:#eee0bd}.account-side h2{font-size:22px;color:#eee0bd}.account-side a{display:block;padding:14px 12px;border-bottom:1px solid #d4b37422;color:#ded3c6;text-decoration:none}.account-side a[aria-current=page]{background:#d8ba7530;color:#fff0c4;border-radius:6px}.account-side p{color:#c1b7b6;font-size:12px;line-height:1.8}.account-banner{margin:0 0 28px;padding:28px 34px;border:1px solid #cbb179;border-left:4px solid #b52d46;border-radius:10px;background:linear-gradient(110deg,#fff9eb,#efe0c5)}.account-banner h1{margin:6px 0}.account-banner p{margin-bottom:0;color:#786b6b}.security-method{padding:24px;margin:24px 0;border:1px solid #d9c79f;border-radius:10px;background:#fbf3e5}.security-method h2{font-size:25px;margin-top:0}.security-actions{display:flex;gap:12px;flex-wrap:wrap;list-style:none;padding:0}.account-panel fieldset{border:1px solid #d9c79f;padding:18px;border-radius:8px}.account-panel form>div label:has(input[type=radio]){display:flex;align-items:center;gap:10px}.account-panel table{width:100%;border-collapse:collapse}.account-panel td,.account-panel th{padding:14px;text-align:left;border-bottom:1px solid #dfd2b9;overflow-wrap:anywhere}.session-cards{display:grid;gap:18px}.session-card{padding:22px;border:1px solid #d9c79f;border-radius:10px;background:#fffcf5}.session-card.is-current{border-left:4px solid #b52d46}.session-card h2{font-size:22px}.session-card dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 20px;font-size:14px}.session-card dd{margin:0;overflow-wrap:anywhere}.session-card dt{color:#82717e}.security-status{display:inline-block;border-radius:30px;padding:5px 12px;background:#182543;color:#fae9bd;font-size:12px}
.contact-steward{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:36px 0;border-top:1px solid #b9985855}.contact-steward h2{font:24px var(--ui-serif);margin:0 0 10px}.contact-steward p{margin:0;color:#b9afba;line-height:1.8}.contact-steward a{padding:12px 18px;border:1px solid #bd9f62;border-radius:8px;color:#f0dca4;overflow-wrap:anywhere;text-decoration:none}
@media(max-width:760px){.backend-page .page-shell{width:calc(100% - 28px);margin-top:24px}.backend-header{padding:16px;display:block}.backend-header nav{margin-top:18px}.account-layout{grid-template-columns:1fr;gap:18px}.account-side{position:static;display:flex;flex-wrap:wrap;padding:14px;gap:8px}.account-side h2,.account-side p{display:none}.account-side a{padding:8px;font-size:12px;border:0}.account-banner{padding:22px}.account-layout .account-panel{padding:22px}.contact-steward{display:block;padding:28px 0}.contact-steward a{display:inline-block;margin-top:16px;font-size:13px}.community-section{margin:24px 12px}.community-compose{padding:16px}.community-replies{margin-left:0;padding-left:12px}.session-card dl{grid-template-columns:1fr;gap:6px}.session-card dd{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.notice-stack.is-bubble{animation:none}.guide-links a,button{transition:none!important}.guide-links a:hover{transform:none}}
body.backend-page .account-layout .account-panel{max-width:none;margin:0}
body.backend-page .account-layout .account-panel::before{display:none}
body.backend-page .page-shell .account-side a{color:#e5d4b4}
body.backend-page .page-shell .account-side a[aria-current=page]{color:#fff1c5;background:#bca05f33}
body.backend-page .account-panel h1{font-family:"Noto Serif SC","Songti SC","SimSun",serif;font-size:32px;color:#27203a}
body.backend-page .account-panel ul{color:#716677}
body.backend-page .account-panel form p:has(>input[type=radio]){display:flex;align-items:center;gap:14px;padding:20px;background:#f3ead9;border:1px solid #d9c7a1;border-radius:10px;overflow-wrap:anywhere}
body.backend-page .account-panel form p>input[type=radio]+label{margin:0;font-size:15px}
body.backend-page .account-panel .security-actions{padding:0}
body.backend-page .security-actions li{list-style:none}
body.backend-page .button-secondary{background:#fff9ed;border-color:#bda16b;color:#8d2840}
body.backend-page .notice-dismiss{background:transparent;border:0;color:#746576;padding:0;min-height:30px}
body.backend-page .account-intro{color:#766874;border-bottom:1px solid #dfcda6;padding-bottom:24px;margin-bottom:26px}
[hidden]{display:none!important}
.guide-links .guide-portrait{position:absolute;right:-14px;top:18px;width:145px;height:225px;object-fit:cover;object-position:top;opacity:.45;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 40%);filter:saturate(.65)}
.guide-links a:has(.guide-portrait){padding-right:70px}
.guide-links a:has(.guide-portrait) strong,.guide-links a:has(.guide-portrait) span{position:relative;z-index:1;text-shadow:0 1px 10px #10132d}
.guide-links a:has(.guide-portrait) strong{font-size:24px;max-width:90%;display:block}
@media(max-width:760px){.account-side nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.account-side a{margin:0}.account-banner h1{font-size:27px}}
body.backend-page input::file-selector-button{font:inherit;color:#7d2840;background:#f7e9ce;border:1px solid #c5aa70;border-radius:6px;padding:8px 12px;margin-right:12px;cursor:pointer}
.session-device-details{margin:14px 0;font-size:12px;color:#7a6d77;overflow-wrap:anywhere}.session-device-details summary{cursor:pointer;color:#a12b44}
body.backend-page .session-card dt,body.backend-page .session-card dd{margin:0;align-self:start}
/* 原生禁用按钮保持不可操作的外观，覆盖共用 hover/active 效果。 */
body.backend-page button:disabled{cursor:not-allowed;opacity:.55}
body.backend-page button:disabled:hover,body.backend-page button:disabled:active{transform:none;box-shadow:none}

/* 返回顶部独立于装饰动画，公共页面与后台使用相同的触控尺寸。 */
.back-to-top[hidden]{display:none!important}
.back-to-top.is-visible{position:fixed;z-index:90;right:clamp(12px,2vw,28px);bottom:calc(16px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:104px;min-height:44px;box-sizing:border-box;padding:8px 13px;border:1px solid rgba(214,181,119,.72);border-radius:999px;background:rgba(17,28,83,.94);box-shadow:0 10px 30px rgba(20,16,40,.2);color:#fff1c8;text-decoration:none;backdrop-filter:blur(9px)}
body.home-page .back-to-top.is-visible,body.work-list-page .back-to-top.is-visible{bottom:calc(68px + env(safe-area-inset-bottom,0px))}
.back-to-top span{font:700 20px/1 var(--sans,system-ui,sans-serif);transform:translateY(-1px)}
.back-to-top small{font:700 12px/1 var(--sans,system-ui,sans-serif);letter-spacing:.05em}
.back-to-top.is-visible:hover,.back-to-top.is-visible:focus-visible{border-color:#fff0b8;background:rgba(169,52,73,.94);color:#fff;outline:2px solid rgba(255,240,184,.35);outline-offset:2px}
#page-top:focus{outline:none}
@media(max-width:620px){.back-to-top.is-visible{right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));min-width:96px;padding:8px 11px}body.home-page .back-to-top.is-visible,body.work-list-page .back-to-top.is-visible{bottom:calc(62px + env(safe-area-inset-bottom,0px))}}
