/* account_self_delete */
.account-self-delete-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--danger-soft) 55%,var(--bg))}.account-self-delete-entry>div{display:grid;gap:4px}.account-self-delete-entry strong{color:var(--danger)}.account-self-delete-entry p{margin:0;color:var(--text-muted);font-size:13px}.account-self-delete-link{flex:0 0 auto;padding:8px 12px;border:1px solid var(--danger);border-radius:7px;color:var(--danger);font-weight:700;text-decoration:none}.account-self-delete-link:hover{background:var(--danger);color:var(--inverse-text)}.account-self-delete-disabled{color:var(--text-subtle);font-size:13px}.account-self-delete-page{display:grid;gap:18px}.account-self-delete-head{display:grid;gap:5px}.account-self-delete-head>span{color:var(--danger);font-size:12px;font-weight:700}.account-self-delete-head h2,.account-self-delete-head p{margin:0}.account-self-delete-head p{color:var(--text-muted)}.account-self-delete-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.account-self-delete-summary>div{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.account-self-delete-summary span{color:var(--text-muted);font-size:12px}.account-self-delete-summary strong{font-size:20px}.account-self-delete-warning{padding:14px 16px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:9px;background:var(--danger-soft)}.account-self-delete-warning>strong{color:var(--danger)}.account-self-delete-warning ul{display:grid;gap:5px;margin:9px 0 0;padding-left:20px;color:var(--text-muted);font-size:13px}.account-self-delete-verification{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.account-self-delete-verification>div{display:grid;gap:3px}.account-self-delete-verification span{color:var(--text-muted);font-size:13px}.account-self-delete-verification.is-verified{border-color:var(--success);background:var(--success-soft);color:var(--success)}.account-self-delete-verification-notice{padding:10px 12px;border-radius:8px;background:var(--success-soft);color:var(--success);font-size:13px;font-weight:700}.account-self-delete-code-form{display:flex!important;align-items:center;gap:8px}.account-self-delete-code-form input{width:180px}.account-self-delete-code-form button,.account-self-delete-verification button{width:auto}.account-self-delete-form{display:grid;gap:14px}.account-self-delete-check{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:13px}.account-self-delete-check input{flex:0 0 auto;margin-top:3px}.account-self-delete-actions{display:flex;justify-content:flex-end;gap:10px}.account-self-delete-actions .btn,.account-self-delete-actions button{width:auto}.account-self-delete-success{display:grid;justify-items:center;max-width:560px;margin:64px auto;padding:40px 28px;border:1px solid var(--line);border-radius:14px;background:var(--bg);box-shadow:0 12px 34px var(--shadow-medium);text-align:center}.account-self-delete-success-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:var(--success-soft);color:var(--success);font-size:28px;font-weight:800}.account-self-delete-success>span{margin-top:16px;color:var(--success);font-size:13px;font-weight:700}.account-self-delete-success h1{margin:5px 0 0}.account-self-delete-success p{max-width:430px;margin:12px 0 22px;color:var(--text-muted)}.account-self-delete-admin-search{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.account-self-delete-admin-search input{min-width:240px}.account-self-delete-admin-search button,.account-self-delete-admin-search .btn{width:auto}.account-self-delete-admin-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;width:100%}.account-self-delete-admin-record>div{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.account-self-delete-admin-record span,.account-self-delete-admin-record time,.account-self-delete-admin-record small{color:var(--text-muted)}.account-self-delete-admin-record time{font-size:12px}.account-self-delete-admin-record small{grid-column:1/-1}@media(max-width:600px){.account-self-delete-entry{display:grid}.account-self-delete-link{justify-self:start}.account-self-delete-summary{grid-template-columns:1fr}.account-self-delete-verification{display:grid}.account-self-delete-code-form{display:grid!important}.account-self-delete-code-form input{width:100%}.account-self-delete-actions{display:grid;grid-template-columns:1fr 1fr}.account-self-delete-actions .btn,.account-self-delete-actions button{width:100%}.account-self-delete-success{margin:24px auto;padding:32px 20px}.account-self-delete-admin-search{display:grid}.account-self-delete-admin-search input{min-width:0;width:100%}.account-self-delete-admin-record{grid-template-columns:1fr}.account-self-delete-admin-record small{grid-column:auto}}
/* ai_content_patrol */
.ai-content-patrol-panel .plugin-panel-body{padding:16px}.ai-content-patrol-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ai-content-patrol-settings-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px 16px;min-width:0}.ai-content-patrol-settings-section h3{grid-column:1/-1;margin:0;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}.ai-content-patrol-settings-section .grid{grid-template-columns:1fr;gap:5px;margin:0}.ai-content-patrol-settings-section .grid>span{padding-top:0}.ai-content-patrol-keywords{grid-column:1/-1}.ai-content-patrol-keywords textarea{min-height:104px}.ai-content-patrol-settings>button{grid-column:1/-1;justify-self:start}.ai-content-patrol-list{display:grid;gap:12px;padding:0 16px 16px}.ai-content-patrol-item{padding:14px;border:1px solid var(--line);border-left:4px solid #f59e0b;border-radius:10px;background:var(--card-bg,#fff)}.ai-content-patrol-item.level-normal,.ai-content-patrol-item.level-medium{border-left-color:#f59e0b}.ai-content-patrol-item.level-urgent,.ai-content-patrol-item.level-high,.ai-content-patrol-item.level-critical{border-left-color:#dc2626}.ai-content-patrol-head{display:flex;justify-content:space-between;gap:12px}.ai-content-patrol-head span{font-size:12px;padding:3px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand)}.ai-content-patrol-meta,.ai-content-patrol-result{margin-top:7px;color:var(--text-muted);font-size:13px}.ai-content-patrol-snapshot{display:grid;gap:7px;margin-top:10px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:8px;background:var(--bg);line-height:1.7}.ai-content-patrol-snapshot>div{max-height:220px;overflow:auto;color:var(--text-muted);overflow-wrap:anywhere}.ai-content-patrol-reason{margin-top:10px;padding:10px 12px;border-radius:8px;background:#fff7ed;color:#9a3412;line-height:1.7}.ai-content-patrol-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ai-content-patrol-missing{color:var(--text-muted)}@media(max-width:760px){.ai-content-patrol-settings,.ai-content-patrol-settings-section{grid-template-columns:1fr}.ai-content-patrol-head{display:grid}}
.home-shell:has(.ai-content-patrol-admin-page) .forum-layout-has-sidebar{display:block}.home-shell:has(.ai-content-patrol-admin-page) .forum-layout-has-sidebar>.sidebar{display:none}
/* attachment_upload */
.attachment-uploader{display:grid;gap:8px}.attachment-input{position:absolute;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}.attachment-drop{display:grid;justify-items:start;gap:2px;padding:0;border:0;background:transparent;color:var(--text-muted);text-align:left;cursor:pointer}.attachment-drop strong{color:var(--text);font-size:var(--font-size-md);line-height:1.4}.attachment-drop span{font-size:var(--font-size-sm);line-height:1.45}.attachment-uploader:focus-within .attachment-drop,.attachment-drop:hover{background:transparent;color:var(--brand)}.attachment-field-muted>span{color:var(--text-subtle)}.attachment-field-muted .attachment-uploader{gap:6px}.attachment-field-muted .attachment-drop{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:0;border:0;background:transparent;color:var(--text-subtle)}.attachment-field-muted .attachment-drop strong{flex:0 0 auto;color:var(--text-muted);font-size:var(--font-size-sm);font-weight:500}.attachment-field-muted .attachment-drop span{min-width:0;font-size:11px}.attachment-field-muted .attachment-uploader:focus-within .attachment-drop,.attachment-field-muted .attachment-drop:hover{background:transparent;color:var(--text-muted)}.attachment-upload-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px;color:var(--text-subtle);font-size:11px}.attachment-upload-toolbar[hidden],.attachment-upload-list[hidden]{display:none}.attachment-upload-insert{min-height:28px;padding:4px 9px;font-size:var(--font-size-sm);white-space:nowrap}.attachment-upload-list{display:grid;gap:6px;margin-top:2px}.attachment-upload-item{display:grid;gap:6px;min-width:0;padding:8px 10px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg)}.attachment-upload-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}.attachment-upload-name{min-width:0;overflow:hidden;color:var(--text);font-size:var(--font-size-sm);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.attachment-upload-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.attachment-upload-status{max-width:220px;color:var(--text-subtle);font-size:11px;line-height:1.4;text-align:right;overflow-wrap:anywhere}.attachment-upload-head-actions .attachment-upload-remove{display:grid;place-items:center;justify-self:auto;width:20px;min-width:20px;min-height:20px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-subtle);font-size:18px;line-height:1;box-shadow:none}.attachment-upload-remove:hover{background:var(--line-soft);color:var(--danger)}.attachment-upload-remove:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.attachment-upload-progress{display:block;width:100%;height:4px;overflow:hidden;border-radius:4px;background:var(--line)}.attachment-upload-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:var(--brand);transition:width .15s ease}.attachment-upload-item[data-state="success"] .attachment-upload-status{color:var(--success)}.attachment-upload-item[data-state="success"] .attachment-upload-progress{display:none}.attachment-upload-item[data-state="success"][data-markdown]{cursor:pointer;transition:border-color .15s,background .15s}.attachment-upload-item[data-state="success"][data-markdown]:hover{border-color:var(--brand);background:var(--brand-soft)}.attachment-upload-item[data-state="success"][data-markdown]:focus-visible{border-color:var(--brand);outline:2px solid var(--focus-ring);outline-offset:1px}.attachment-upload-item[data-state="error"] .attachment-upload-status{color:var(--danger)}.attachment-upload-item[data-state="error"] .attachment-upload-progress>span{background:var(--danger)}
.attachment-upload-settings{max-width:none;gap:12px}.attachment-upload-settings-section{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.attachment-upload-settings-section>strong{font-size:12px}.attachment-upload-settings-section .grid{margin:0}.attachment-upload-settings-groups{display:grid;grid-template-columns:1fr;gap:10px}.attachment-upload-settings-groups .grid{grid-template-columns:minmax(90px,140px) minmax(0,1fr)}
@media(max-width:600px){.attachment-upload-settings-groups .grid{grid-template-columns:1fr}}
/* avatar_mirror */
.avatar-mirror-settings{max-width:none}.avatar-mirror-box{display:grid;gap:10px}.avatar-mirror-box textarea{min-height:150px;font-family:var(--font-mono);font-size:var(--font-size-sm)}.avatar-mirror-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.avatar-mirror-status{color:var(--text-muted);font-size:var(--font-size-sm)}.avatar-mirror-status:empty{display:none}@media(max-width:600px){.avatar-mirror-actions{align-items:stretch;flex-direction:column}.avatar-mirror-actions button{width:100%}}
/* avatar_upload */
.avatar-upload-panel{min-width:0}.avatar-upload-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center}.avatar-upload-current{display:flex;width:72px;height:72px;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:var(--bg)}.avatar-upload-row strong{display:block;margin-bottom:3px}.avatar-upload-row p{margin:0 0 10px;color:var(--text-muted)}.avatar-upload-actions{display:flex;flex-wrap:wrap;gap:8px}.avatar-upload-select{width:auto}.avatar-upload-status{min-height:0;margin-top:8px;color:var(--text-muted)}.avatar-upload-status:empty{display:none}.avatar-upload-status.error{color:var(--danger)}.avatar-upload-preset-options[hidden]{display:none!important}.avatar-upload-preset-options{margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft)}.avatar-crop-modal{z-index:1200}.avatar-crop-dialog{width:min(360px,calc(100vw - 24px))}.avatar-crop-dialog canvas{display:block;width:min(280px,100%);height:auto;margin:0 auto;border-radius:var(--radius);background:var(--bg);cursor:grab;touch-action:none}.avatar-crop-dialog canvas.dragging{cursor:grabbing}.avatar-crop-zoom{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;margin-top:14px}.avatar-crop-zoom input{padding:0}.avatar-field{display:none!important}@media(max-width:600px){.avatar-upload-row{grid-template-columns:56px minmax(0,1fr)}.avatar-upload-current{width:56px;height:56px}}
/* back_to_top */
.back-to-top-button{position:fixed;right:max(20px,calc((100vw - 1100px)/2 - 48px));bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;display:grid;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--text-muted);box-shadow:0 4px 14px var(--shadow-medium);transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),transform var(--transition-normal)}.back-to-top-button:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.back-to-top-button:focus-visible{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.back-to-top-button:active{transform:translateY(1px)}.back-to-top-button[hidden]{display:none}body:has([data-back-to-top-layout][data-top-fixed="1"]) .top{position:sticky;top:0;z-index:35;box-shadow:0 3px 10px var(--shadow-base)}@media(min-width:721px){body:has([data-back-to-top-layout][data-sidebar-fixed="1"]) .sidebar{position:sticky;top:12px}body:has([data-back-to-top-layout][data-top-fixed="1"][data-sidebar-fixed="1"]) .sidebar{top:60px}html.back-to-top-sidebar-tall body:has([data-back-to-top-layout][data-sidebar-fixed="1"]) .sidebar{position:static;top:auto}}@media(max-width:720px){.back-to-top-button{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}}
/* code-highlight */
/* ===== 高亮与行号样式 ===== */
.post-content pre code {
    white-space: pre-wrap;
    word-break: break-word;
}
.post-content pre {
    position: relative;
    padding-top: 2.6em;
    overflow: auto;
}

.post-content pre .code-block-lang {
    position: absolute;
    top: 0.4em;
    left: 0.4em;
    padding: 0.2em 0.8em;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-color: rgba(255, 255, 255, 0.1);
    color: var(--text-muted, #aaa);
    font-size: var(--font-size-xs, 12px);
    font-weight: 600;
    border-radius: 6px;
    text-transform: lowercase;
    user-select: none;
    pointer-events: none;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.code-line-numbers {
    display: block;
    counter-reset: code-line;
}
.code-line-number {
    position: relative;
    display: block;
    min-height: 1.4em;
    padding-left: calc(var(--code-line-number-width, 2ch) + 0.95em);
    white-space: pre-wrap;
    word-break: break-word;
}
.code-line-number::before {
    position: absolute;
    left: 0;
    width: var(--code-line-number-width, 2ch);
    padding-right: 0.45em;
    border-right: 1px solid var(--inverse-border);
    color: var(--text-disabled);
    content: counter(code-line);
    counter-increment: code-line;
    text-align: right;
    user-select: none;
    pointer-events: none;
}
.post-content pre.code-line-numbers-pre {
    overflow: auto;
}

.hljs {
    white-space: pre-wrap !important;
    word-break: break-word !important;
}

.post-content pre.code-highlight-loading {
    position: relative;
    min-height: 3em;
}
.post-content pre.code-highlight-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.5em;
    height: 1.5em;
    margin: -0.75em 0 0 -0.75em;
    border: 2px solid var(--line-soft);
    border-top-color: var(--brand);
    border-radius: 50%;
    animation: code-highlight-spin 0.8s linear infinite;
    pointer-events: none;
}
@keyframes code-highlight-spin {
    to { transform: rotate(360deg); }
}

/* ===== 复制按钮样式 ===== */
.code-copy-wrap {
    position: relative;
    display: block;
    min-width: 0;
    margin: 10px 0;
}
.code-copy-wrap > pre {
    margin: 0;
}
.code-copy-button {
    position: absolute;
    z-index: 2;
    top: 9px;
    right: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 6px;
    background: rgba(17, 24, 39, .58);
    color: rgba(255, 255, 255, .82);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-3px);
    cursor: pointer;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: opacity var(--transition-normal), transform var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), color var(--transition-normal);
}
.code-copy-button svg {
    display: block;
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.code-copy-wrap:hover > .code-copy-button,
.code-copy-wrap:focus-within > .code-copy-button,
.code-copy-button.is-copied,
.code-copy-button.is-failed {
    opacity: 1;
    pointer-events: auto;
    transform: none;
}
.code-copy-button:hover {
    border-color: rgba(255, 255, 255, .38);
    background: rgba(17, 24, 39, .82);
    color: #fff;
}
.code-copy-button:focus-visible {
    opacity: 1;
    pointer-events: auto;
    transform: none;
    outline: 2px solid var(--focus-ring);
    outline-offset: 2px;
}
.code-copy-button.is-copied {
    border-color: var(--success);
    color: var(--success);
}
.code-copy-button.is-failed {
    border-color: var(--danger);
    color: var(--danger);
}
@media (hover: none) {
    .code-copy-button {
        opacity: .68;
        pointer-events: auto;
        transform: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .code-copy-button {
        transition: none;
    }
}
/* color_scheme */
.color-scheme-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.color-scheme-choice{display:block;margin:0}.color-scheme-choice button{display:flex;width:100%;min-height:94px;align-items:center;gap:12px;padding:14px;text-align:left;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);cursor:pointer}.color-scheme-choice button:hover{border-color:var(--brand);background:var(--brand-soft)}.color-scheme-choice.active button{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.color-scheme-preview{display:flex;width:40px;height:40px;flex:0 0 40px;overflow:hidden;border:1px solid rgba(0,0,0,.08);border-radius:6px}.color-scheme-preview i{display:block;height:100%}.color-scheme-preview i:nth-child(1){width:54%}.color-scheme-preview i:nth-child(2){width:26%}.color-scheme-preview i:nth-child(3){width:20%}.color-scheme-choice-copy{display:grid;gap:2px;min-width:0}.color-scheme-choice-copy small{color:var(--text-muted)}.color-scheme-page-actions{margin-top:16px}.color-scheme-admin-list{display:grid;gap:10px}.color-scheme-admin-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--line);border-radius:6px}.color-scheme-admin-meta{display:flex;align-items:center;gap:10px;min-width:0}.color-scheme-admin-ops{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.color-scheme-admin-ops form{margin:0}.color-scheme-top-link{grid-column:6;grid-row:1;justify-self:end;display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--text-muted)}.color-scheme-top-link:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.color-scheme-top-link:focus-visible{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.color-scheme-top-link svg{width:17px;height:17px}.bar:has(.color-scheme-top-link){grid-template-columns:auto minmax(0,max-content) auto minmax(12px,1fr) auto auto auto}.bar:has(.color-scheme-top-link) .search-page-link{grid-column:5}.bar:has(.color-scheme-top-link) .dark-mode-control{grid-column:7}@media(max-width:720px){.color-scheme-top-link{order:2;flex:0 0 28px;width:28px;height:28px;border:0;background:transparent;color:var(--text-subtle)!important}.color-scheme-top-link svg{width:24px;height:24px}.color-scheme-top-link:hover{background:var(--bg);color:var(--text)!important}.bar:has(.color-scheme-top-link) .dark-mode-control{order:3}.bar:has(.color-scheme-top-link) .search-page-link{order:4}.bar:has(.color-scheme-top-link) .mobile-menu-button{order:5}.bar:has(.color-scheme-top-link) .nav-mine{order:6}}@media(max-width:560px){.color-scheme-admin-item{align-items:flex-start;flex-direction:column}.color-scheme-admin-ops{width:100%;justify-content:flex-start}}
/* community_lottery */
.community-lottery-topic-option{padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}
.community-lottery-topic-option.is-selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--panel))}
.community-lottery-topic-option>[data-topic-type-choice]{display:flex;gap:10px;align-items:flex-start;margin:0}
.community-lottery-topic-option>[data-topic-type-choice] span{display:grid}
.community-lottery-topic-option>[data-topic-type-choice] small,.community-lottery-prize-row small{color:var(--text-muted)}
.community-lottery-topic-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}
.community-lottery-publish-warning{margin:0 0 12px;padding:10px 12px;border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:var(--font-size-sm);font-weight:700;line-height:1.55;text-align:center}
.community-lottery-wallet-note{margin:0 0 12px;padding:10px 12px;border:1px solid var(--info);border-radius:var(--radius);background:var(--info-soft);color:var(--text);font-size:var(--font-size-sm);font-weight:700;line-height:1.55}
.community-lottery-wallet-dialog{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--backdrop)}
.community-lottery-wallet-dialog[hidden]{display:none}
.community-lottery-wallet-dialog-panel{box-sizing:border-box;width:min(440px,100%);padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 12px 36px var(--shadow-medium)}
.community-lottery-wallet-dialog-panel strong{display:block;margin-bottom:9px;font-size:var(--font-size-lg)}
.community-lottery-wallet-dialog-panel p{margin:0;color:var(--text-muted);line-height:1.7;white-space:pre-line}
.community-lottery-wallet-dialog-panel p a{color:var(--brand);font-weight:700;text-decoration:none}
.community-lottery-wallet-dialog-panel p a:hover{text-decoration:underline}
.community-lottery-wallet-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.community-lottery-wallet-dialog-actions .btn{display:inline-flex;align-items:center;justify-content:center;margin:0;text-decoration:none}
.community-lottery-title-status{display:inline-flex;align-items:center;margin-left:7px;padding:2px 7px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-xs);font-weight:700;vertical-align:middle}
.community-lottery-title-status.drawn{background:var(--success-soft);color:var(--success)}
.community-lottery-title-status.open{background:var(--warning-soft);color:var(--warning)}
.community-lottery-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.community-lottery-rules>label{grid-template-rows:auto minmax(42px,auto) auto;align-content:start}
.community-lottery-rules>label>.form-field-caption{min-height:52px}
.community-lottery-captcha-option{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;margin:2px 0 0;padding:13px 16px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel);box-sizing:border-box}
.community-lottery-captcha-option>span{display:grid;gap:4px;min-width:0;color:var(--text)}
.community-lottery-captcha-option strong{font-size:var(--font-size-sm);line-height:1.35}
.community-lottery-captcha-option small{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.45}
.community-lottery-captcha-option input[type=checkbox]{flex:0 0 auto;width:56px;height:32px;margin:0}
.community-lottery-rule-note{margin:10px 0 0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.6}
.community-lottery-prize-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.community-lottery-prize-head .btn{flex:0 0 auto}
.community-lottery-editor [data-lottery-rows]{display:grid;gap:10px;margin-top:10px}
.community-lottery-prize-row{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel)}
.community-lottery-prize-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,180px) minmax(80px,110px) 36px;align-items:end;gap:10px;min-width:0}
.community-lottery-prize-row label{display:grid;gap:5px;min-width:0;margin:0;color:var(--text);font-size:var(--font-size-sm)}
.community-lottery-prize-row input,.community-lottery-prize-row select,.community-lottery-prize-row textarea{box-sizing:border-box;min-width:0;width:100%}
.community-lottery-prize-row textarea{min-height:72px}
.community-lottery-prize-row [data-lottery-remove]{width:36px;min-height:36px;padding:0;background:var(--brand)}
.community-lottery-prize-row [data-lottery-remove]:hover{background:var(--brand-hover)}
.community-lottery-target-help.is-over{color:var(--danger)}
.community-lottery-card{grid-column:1/-1;margin:12px 0;padding:16px;border:1px solid color-mix(in srgb,var(--brand) 25%,var(--line));border-left:4px solid var(--brand);border-radius:var(--radius);background:color-mix(in srgb,var(--brand) 5%,var(--panel))}
.community-lottery-card.is-open{border-color:color-mix(in srgb,var(--warning) 45%,var(--line));border-left-color:var(--warning);background:color-mix(in srgb,var(--warning) 7%,var(--panel))}
.community-lottery-card.is-drawn{border-color:color-mix(in srgb,var(--success) 45%,var(--line));border-left-color:var(--success);background:color-mix(in srgb,var(--success) 7%,var(--panel))}
.community-lottery-card.is-drawing,.community-lottery-card.is-pending{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));border-left-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--panel))}
.topic-post-list .post-entry.quick-reply-host-before>.community-lottery-card,.topic-post-list .post-entry.quick-reply-host-after>.community-lottery-card{grid-area:quick-reply-extra}
.community-lottery-card header{display:flex;justify-content:space-between;gap:10px}
.community-lottery-card-side{display:grid;justify-items:end;gap:5px}.community-lottery-status-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-xs);font-weight:800}.community-lottery-card.is-drawn .community-lottery-status-pill{background:var(--success-soft);color:var(--success)}.community-lottery-card.is-drawing .community-lottery-status-pill,.community-lottery-card.is-pending .community-lottery-status-pill{background:var(--brand-soft);color:var(--brand)}
.community-lottery-card header div{display:grid}
.community-lottery-card header span,.community-lottery-card header em,.community-lottery-prizes span{color:var(--text-muted);font-size:var(--font-size-xs);font-style:normal}
.community-lottery-prizes,.community-lottery-winners ul{display:grid;gap:7px;margin:12px 0;padding:0;list-style:none}
.community-lottery-prizes li,.community-lottery-winners li{display:flex;justify-content:space-between;gap:10px}
.community-lottery-condition,.community-lottery-result{padding:9px;border-radius:var(--radius);background:var(--panel);font-size:var(--font-size-sm)}
.community-lottery-result{margin-top:8px;background:var(--warning-soft);color:var(--warning);font-weight:700}
.community-lottery-pending-notice,.community-lottery-pending-reply{margin-top:10px;padding:11px 13px;border:1px solid var(--warning);border-radius:var(--radius);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-sm);font-weight:700}
.community-lottery-pending-reply{margin:12px 0}
.community-lottery-winners{margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft)}
.community-lottery-readonly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.community-lottery-readonly-grid>div{display:grid;gap:3px;padding:10px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel)}
.community-lottery-readonly-grid span,.community-lottery-readonly-prize span{color:var(--text-muted);font-size:var(--font-size-xs)}
.community-lottery-readonly-prizes{display:grid;gap:8px}
.community-lottery-readonly-prize{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:12px;padding:10px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel)}
.community-lottery-readonly-prize>div{display:grid;align-content:start}
.community-lottery-readonly-prize pre{margin:0;padding:8px;border-radius:var(--radius);background:var(--bg);white-space:pre-wrap;word-break:break-all;font:inherit;font-size:var(--font-size-xs)}
@media(max-width:760px){.community-lottery-rules{grid-template-columns:1fr}.community-lottery-rules>label{grid-template-rows:auto}.community-lottery-rules>label>.form-field-caption{min-height:0}.community-lottery-captcha-option{align-items:center;flex-direction:row;gap:10px}.community-lottery-prize-main{grid-template-columns:minmax(0,1fr) minmax(80px,120px) 36px}.community-lottery-prize-main label:first-child{grid-column:1/-1}.community-lottery-readonly-grid{grid-template-columns:1fr 1fr}.community-lottery-readonly-prize{grid-template-columns:1fr}}
@media(max-width:480px){.community-lottery-captcha-option{align-items:flex-start;flex-direction:column}.community-lottery-prize-main{grid-template-columns:minmax(0,1fr) 36px}.community-lottery-prize-main label:first-child,.community-lottery-prize-main label:nth-child(2){grid-column:1/-1}.community-lottery-prize-main label:nth-child(3){grid-column:1;grid-row:3}.community-lottery-prize-main [data-lottery-remove]{grid-column:2;grid-row:3}.community-lottery-readonly-grid{grid-template-columns:1fr}}.community-lottery-topic-types{display:grid;gap:12px;margin:14px 0}
.community-lottery-topic-types>[data-topic-type-group-title]{font-size:var(--font-size-md);font-weight:700}
.community-lottery-topic-types>[data-topic-type-options]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.community-lottery-topic-types>[data-topic-type-options]>[data-topic-type-option]{display:contents}
.community-lottery-topic-types [data-topic-type-choice]{display:flex;min-height:72px;align-items:center;gap:12px;margin:0;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);cursor:pointer}
.community-lottery-topic-types [data-topic-type-choice] input[data-topic-type-radio]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;white-space:nowrap}
.community-lottery-topic-types [data-topic-type-choice]:before{content:"";width:16px;height:16px;flex:0 0 16px;border:1.5px solid var(--text-subtle);border-radius:50%;box-shadow:inset 0 0 0 4px var(--panel)}
.community-lottery-topic-types [data-topic-type-choice] span{display:grid;min-width:0;gap:3px}
.community-lottery-topic-types [data-topic-type-choice] strong{font-size:var(--font-size-md)}
.community-lottery-topic-types [data-topic-type-choice] small{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.45}
.community-lottery-topic-types [data-topic-type-option].is-selected>[data-topic-type-choice]{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 18%,transparent)}
.community-lottery-topic-types [data-topic-type-option].is-selected>[data-topic-type-choice]:before{border-color:var(--brand);background:var(--brand)}
.community-lottery-topic-types [data-topic-type-option]:focus-within>[data-topic-type-choice]{outline:2px solid var(--focus-ring);outline-offset:2px}
.community-lottery-topic-types>[data-topic-type-panels]{display:grid;gap:10px}
.community-lottery-topic-types>[data-topic-type-panels]>[data-topic-type-panel]{margin:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}
.community-lottery-topic-types [data-topic-type-panel][hidden]{display:none}
@media(max-width:640px){.community-lottery-topic-types>[data-topic-type-options]{grid-template-columns:1fr}}
/* community_wallet */
.community-wallet-page{display:grid;gap:16px}.community-wallet-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;border:1px solid var(--line-soft);border-radius:var(--radius);background:linear-gradient(135deg,var(--brand-soft),var(--panel) 62%,var(--warning-soft))}.community-wallet-hero>div:first-child{min-width:0}.community-wallet-hero>div:first-child>span{color:var(--brand);font-size:10px;font-weight:800;letter-spacing:.15em}.community-wallet-hero h1{margin:5px 0 0;font-size:28px}.community-wallet-hero p{max-width:620px;margin:8px 0 0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.7}.community-wallet-balance{display:grid;min-width:190px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 4px 16px var(--shadow-base)}.community-wallet-balance small,.community-wallet-balance span{color:var(--text-subtle);font-size:11px}.community-wallet-balance strong{display:flex;align-items:center;gap:7px;margin:4px 0;color:var(--text);font-size:30px;font-variant-numeric:tabular-nums}.community-wallet-balance i{color:var(--brand);font-size:20px;font-style:normal}.community-wallet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.community-wallet-grid-single{grid-template-columns:minmax(0,1fr)}.community-wallet-card{padding:18px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel)}.community-wallet-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.community-wallet-section-head h2{margin:0;font-size:18px}.community-wallet-section-head p{margin:4px 0 0;color:var(--text-muted);font-size:var(--font-size-sm)}.community-wallet-alipay-card .community-wallet-section-head>span{padding:3px 8px;border-radius:999px;background:var(--info-soft);color:var(--info);font-size:10px;font-weight:700;white-space:nowrap}.community-wallet-instructions{margin-bottom:13px;padding:11px 12px;border:1px solid var(--info);border-radius:var(--radius-sm);background:var(--info-soft);color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.65;overflow-wrap:anywhere}.community-wallet-card form{display:grid;gap:11px}.community-wallet-card form label{display:grid;gap:5px}.community-wallet-card form label>span{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:600}.community-wallet-card form input{box-sizing:border-box;width:100%}.community-wallet-card form>small{color:var(--text-subtle);line-height:1.55}.community-wallet-code-purchase{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft)}.community-wallet-code-purchase span{color:var(--text-muted);font-size:var(--font-size-sm)}.community-wallet-code-purchase .btn{flex:0 0 auto}.community-wallet-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.community-wallet-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.community-wallet-presets label{display:block;cursor:pointer}.community-wallet-presets input{position:absolute;width:1px!important;height:1px;overflow:hidden;clip-path:inset(50%)}.community-wallet-presets label>span{display:grid;gap:2px;padding:9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);text-align:center}.community-wallet-presets label>span small{color:var(--text-subtle);font-size:10px}.community-wallet-presets input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.community-wallet-presets input:focus-visible+span{outline:2px solid var(--focus-ring);outline-offset:2px}.community-wallet-alipay-summary{display:grid;gap:4px;margin-bottom:14px;padding:16px;border:1px solid var(--info);border-radius:var(--radius);background:var(--info-soft);text-align:center}.community-wallet-alipay-summary strong{font-size:30px}.community-wallet-alipay-summary span,.community-wallet-alipay-confirm>p{color:var(--text-muted)}.community-wallet-alipay-confirm>.btn{display:inline-flex;margin-top:10px}.community-wallet-transactions,.community-wallet-orders{list-style:none;margin:0;padding:0}.community-wallet-transaction,.community-wallet-orders>li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--line-soft)}.community-wallet-transaction:first-child,.community-wallet-orders>li:first-child{border-top:0}.community-wallet-transaction>div:first-child,.community-wallet-orders>li>div{display:grid;min-width:0;gap:3px}.community-wallet-transaction span,.community-wallet-transaction time,.community-wallet-orders span,.community-wallet-orders time{color:var(--text-subtle);font-size:11px;overflow-wrap:anywhere}.community-wallet-amount{display:grid;flex:0 0 auto;justify-items:end;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.community-wallet-amount.positive{color:var(--success)}.community-wallet-amount.negative{color:var(--danger)}.community-wallet-amount small,.community-wallet-amount em{color:var(--text-subtle);font-size:10px;font-style:normal;font-weight:400}.community-wallet-status{justify-self:end;padding:2px 7px;border-radius:999px}.community-wallet-status.pending{background:var(--warning-soft);color:var(--warning)}.community-wallet-status.paid{background:var(--success-soft);color:var(--success)}.community-wallet-status.rejected{background:var(--danger-soft);color:var(--danger)}.community-wallet-admin-tabs,.community-wallet-filter{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.community-wallet-admin-tabs a,.community-wallet-filter a{padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-muted);font-size:var(--font-size-sm)}.community-wallet-admin-tabs a.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.community-wallet-admin-section{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line-soft)}.community-wallet-admin-section:first-child{margin-top:0;padding-top:0;border-top:0}.community-wallet-admin-section h3{margin:0}.community-wallet-admin-list code{overflow-wrap:anywhere}.community-wallet-admin-list p{margin:6px 0 0;color:var(--text-muted);font-size:var(--font-size-sm)}.community-wallet-alipay-callbacks{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}.community-wallet-alipay-callbacks code{overflow-wrap:anywhere;color:var(--text-muted)}.community-wallet-alipay-callbacks span{color:var(--text-subtle);font-size:var(--font-size-sm)}.community-wallet-generated{display:grid;gap:10px;margin-bottom:18px;padding:14px;border:1px solid var(--warning);border-radius:var(--radius);background:var(--warning-soft)}.community-wallet-generated textarea{box-sizing:border-box;width:100%;font-family:monospace}.community-wallet-code-form,.community-wallet-adjust-form{max-width:720px}@media(max-width:720px){.community-wallet-hero{display:grid;padding:20px}.community-wallet-balance{width:100%;min-width:0;box-sizing:border-box}.community-wallet-grid,.community-wallet-form-grid{grid-template-columns:1fr}.community-wallet-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.community-wallet-card{padding:14px}.community-wallet-code-purchase{align-items:stretch;flex-direction:column}.community-wallet-code-purchase .btn{justify-content:center}.community-wallet-transaction,.community-wallet-orders>li{align-items:flex-start}.community-wallet-admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.community-wallet-admin-tabs a{text-align:center}}
.community-wallet-orders>li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0}.community-wallet-orders>li>.community-wallet-order-main{display:grid;min-width:0;gap:4px}.community-wallet-order-main strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.community-wallet-orders>li>.community-wallet-order-side{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.community-wallet-order-side time{white-space:nowrap}.community-wallet-card .community-wallet-order-side form{display:block;margin:0}.community-wallet-order-side button{min-height:32px;padding:6px 11px;font-size:var(--font-size-sm);white-space:nowrap}.community-wallet-status{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;font-weight:600;line-height:1.2;white-space:nowrap}@media(max-width:720px){.community-wallet-orders>li{grid-template-columns:1fr;align-items:start;gap:9px}.community-wallet-orders>li>.community-wallet-order-side{width:100%;justify-content:flex-start;flex-wrap:wrap}.community-wallet-order-side time{margin-left:auto}.community-wallet-card .community-wallet-order-side form{flex:0 0 100%}.community-wallet-order-side button{width:100%}}
/* content_report */
.content-report-action{color:var(--text-muted)}
.content-report-action:before{display:none}
.content-report-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.content-report-action:hover{color:#c2410c}
.content-report-warning{padding:10px 12px;border-radius:8px;background:#fff7ed;color:#9a3412}
.content-report-reason-field{margin:14px 0;padding:0;border:0}
.content-report-reason-field legend{margin-bottom:8px;font-weight:600;color:var(--text)}
.content-report-reasons{display:flex;flex-wrap:wrap;gap:8px}
.content-report-reason-choice{position:relative;cursor:pointer}
.content-report-reason-choice input{position:absolute;opacity:0;pointer-events:none}
.content-report-reason-choice span{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--text-muted);font-size:13px;transition:.15s ease}
.content-report-reason-choice:hover span{border-color:var(--brand);color:var(--brand)}
.content-report-reason-choice input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:600}
.content-report-reason-choice input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.content-report-search{display:flex;align-items:center;gap:8px;margin:0 0 14px}
.content-report-search input{flex:1;min-width:180px}
.content-report-search a{color:var(--text-muted);white-space:nowrap}
.home-shell:has(.content-report-admin-page) .forum-layout-has-sidebar{display:block}
.home-shell:has(.content-report-admin-page) .forum-layout-has-sidebar>.sidebar{display:none}
.content-report-list{display:grid;gap:12px}
.content-report-item{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--card-bg,#fff)}
.content-report-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.content-report-status{font-size:12px;padding:3px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand)}
.content-report-status.status-rejected{background:#fef2f2;color:#b91c1c}
.content-report-status.status-approved{background:#f0fdf4;color:#15803d}
.content-report-meta,.content-report-result{margin-top:7px;color:var(--text-muted);font-size:13px}
.content-report-snapshot{display:grid;gap:7px;margin-top:10px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:8px;background:var(--bg);line-height:1.7}
.content-report-snapshot>strong{font-size:13px}
.content-report-snapshot-title{font-weight:600}
.content-report-snapshot-body{max-height:240px;overflow:auto;color:var(--text-muted);white-space:normal;overflow-wrap:anywhere}
.content-report-snapshot-empty{color:var(--text-muted)}
.content-report-reason{margin-top:10px;padding:10px 12px;border-radius:8px;background:var(--brand-soft);line-height:1.7}
.content-report-actions-panel{display:grid;gap:12px;margin-top:14px;padding:14px;border:1px solid var(--line-soft);border-radius:10px;background:var(--bg)}
.content-report-handle{display:grid;gap:12px;max-width:760px}
.content-report-handle .grid{grid-template-columns:1fr;gap:5px;margin:0}.content-report-handle .grid>span{padding-top:0}.content-report-handle textarea{min-height:96px}.content-report-handle>button{justify-self:start}.content-report-ai-action{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:12px;border-top:1px solid var(--line-soft)}.content-report-ai-action span{margin-right:auto;color:var(--text-muted);font-size:var(--font-size-sm)}
.content-report-missing{color:var(--text-muted)}
@media(max-width:760px){.content-report-handle{grid-template-columns:1fr}.content-report-ai-action{align-items:stretch;flex-direction:column}.content-report-ai-action button{width:100%}}
/* daily_checkin */
.daily-checkin-wrap{display:grid;gap:10px;padding:12px 14px}
.daily-checkin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.daily-checkin-title{color:var(--text);font-size:13px;font-weight:700;line-height:1.35}
.daily-checkin-sub{margin-top:2px;color:var(--text-subtle);font-size:11px;line-height:1.35}
.daily-checkin-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border:1px solid var(--warning-soft);border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:11px;font-weight:600;white-space:nowrap}
.daily-checkin-badge.done{border-color:var(--brand-soft);background:var(--brand-soft);color:var(--brand)}
.daily-checkin-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.daily-checkin-stats>div{display:grid;gap:2px;padding:8px;border:1px solid var(--line-soft);border-radius:7px;background:var(--bg);text-align:center}
.daily-checkin-stats strong{color:var(--text);font-size:17px;line-height:1.1}
.daily-checkin-stats span{color:var(--text-subtle);font-size:11px;line-height:1.25}
.daily-checkin-action{display:block}
.daily-checkin-action .post-action-form{display:block!important;width:100%!important}
.daily-checkin-action button,.daily-checkin-done{display:flex;align-items:center;justify-content:center;width:100%;min-height:32px;padding:0 10px;border-radius:7px;font-size:12px;font-weight:700}
.daily-checkin-action button{border:1px solid var(--brand);background:var(--brand);color:var(--inverse-text)}
.daily-checkin-action button:hover{border-color:var(--brand-hover);background:var(--brand-hover);color:var(--inverse-text)}
.daily-checkin-done{border:1px solid var(--brand-soft);background:var(--brand-soft);color:var(--brand)}
.daily-checkin-page-panel .admin-list-head{padding:14px 16px}
.daily-checkin-page-body{display:grid;gap:16px;padding:16px}
.daily-checkin-page-stats{gap:12px}
.daily-checkin-page-stats>div{padding:16px 12px}
.daily-checkin-page-stats strong{font-size:24px}
.daily-checkin-page-stats span{font-size:12px}
.daily-checkin-page-action button,.daily-checkin-page-action .daily-checkin-done{min-height:42px;font-size:14px}
.admin-object-row.daily-checkin-row{grid-template-columns:minmax(0,1fr)}
@media (max-width:760px){.admin-object-row.daily-checkin-row{grid-template-columns:minmax(0,1fr)}}
/* daily_hot_topics */
.daily-hot-topics-card .daily-hot-topics-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.daily-hot-topics-card .daily-hot-topics-head>span{color:var(--text-subtle);font-size:10px;white-space:nowrap}
.daily-hot-topics-card .daily-hot-topics-list a{align-items:flex-start;padding:7px 0}.daily-hot-topics-card .daily-hot-topics-list a:before{flex:0 0 6px;margin-top:7px}.daily-hot-topics-card .daily-hot-topics-content{display:block;min-width:0;flex:1}.daily-hot-topics-card .daily-hot-topics-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.45;text-align:left;white-space:normal}.daily-hot-topics-card .daily-hot-topics-count{display:block;margin-top:2px;color:var(--text-subtle);font-size:10px;line-height:1.3;white-space:nowrap}.daily-hot-topics-card .daily-hot-topics-empty{padding:9px 0;color:var(--text-subtle);font-size:12px}
/* dark_mode */
/* ===== 暗黑模式 CSS 变量 ===== */
[data-dark-mode-theme="dark"] {
    --bg:#0f121a;
    --panel:#171b27;
    --line:#262b3b;
    --line-soft:#1e2332;
    --text:#e2e5ed;
    --text-muted:#9399ab;
    --text-subtle:#636a80;
    --text-disabled:#4a5066;
    --brand:#34d984;
    --brand-hover:#2ab86e;
    --brand-soft:rgba(52,217,132,.1);
    --success:#2ab86e;
    --success-soft:rgba(42,184,110,.1);
    --danger:#f47278;
    --danger-soft:rgba(244,114,120,.1);
    --warning:#f6a04e;
    --warning-soft:rgba(246,160,78,.1);
    --info:#6aaeff;
    --info-soft:rgba(106,174,255,.1);
    --inverse:#0f121a;
    --inverse-border:#262b3b;
    --inverse-text:#e8ecf4;
    --color-dark-rgb:15,18,26;
    --backdrop:rgba(var(--color-dark-rgb),.48);
    --shadow-base:rgba(0,0,0,.38);
    --shadow-medium:rgba(0,0,0,.52);
    --focus-ring:rgba(52,217,132,.25);
    --radius:6px;
    --radius-sm:4px
}

/* ===== 平滑过渡 ===== */
[data-dark-mode-theme] body,
[data-dark-mode-theme] html,
[data-dark-mode-theme] .box,
[data-dark-mode-theme] .card,
[data-dark-mode-theme] .list,
[data-dark-mode-theme] .top,
[data-dark-mode-theme] .main-panel,
[data-dark-mode-theme] .home-shell,
[data-dark-mode-theme] .footer,
[data-dark-mode-theme] .tab,
[data-dark-mode-theme] .post-item,
[data-dark-mode-theme] .search-form,
[data-dark-mode-theme] .search-field,
[data-dark-mode-theme] a,
[data-dark-mode-theme] input,
[data-dark-mode-theme] textarea,
[data-dark-mode-theme] select,
[data-dark-mode-theme] button,
[data-dark-mode-theme] .brand,
[data-dark-mode-theme] .forum-link,
[data-dark-mode-theme] .post-title,
[data-dark-mode-theme] .btn,
[data-dark-mode-theme] .user-header,
[data-dark-mode-theme] .user-bio,
[data-dark-mode-theme] .forum-more-region,
[data-dark-mode-theme] .dark-mode-toggle-btn,
[data-dark-mode-theme] .dark-mode-menu {
    transition:background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)
}

/* ===== 搜索框适配 ===== */
[data-dark-mode-theme="dark"] .search-form {
    background:var(--panel)
}
[data-dark-mode-theme="dark"] .search-input {
    color:var(--text)
}
[data-dark-mode-theme="dark"] .search-input::placeholder {
    color:var(--text-subtle)
}
[data-dark-mode-theme="dark"] .search-field {
    background:var(--bg);
    color:var(--text-muted);
    border-color:var(--line-soft)
}

/* ===== 表单元素适配 ===== */
[data-dark-mode-theme="dark"] input:not([type="submit"]):not([type="button"]):not([type="hidden"]):not(.search-input):not(.search-field),
[data-dark-mode-theme="dark"] textarea,
[data-dark-mode-theme="dark"] select {
    background:var(--bg);
    color:var(--text);
    border-color:var(--line)
}
[data-dark-mode-theme="dark"] input:focus:not([type="submit"]):not([type="button"]):not([type="hidden"]),
[data-dark-mode-theme="dark"] textarea:focus,
[data-dark-mode-theme="dark"] select:focus {
    border-color:var(--brand);
    box-shadow:0 0 0 3px var(--focus-ring);
    background:var(--panel)
}
[data-dark-mode-theme="dark"] input::placeholder,
[data-dark-mode-theme="dark"] textarea::placeholder {
    color:var(--text-subtle)
}

/* ===== 按钮增强 ===== */
[data-dark-mode-theme="dark"] button[type="submit"]:not(.dark-mode-toggle-btn),
[data-dark-mode-theme="dark"] .btn-primary {
    color:var(--inverse-text);
    border-color:var(--brand);
    font-weight:600
}
[data-dark-mode-theme="dark"] button[type="submit"]:not(.dark-mode-toggle-btn):hover,
[data-dark-mode-theme="dark"] .btn-primary:hover {
    border-color:var(--brand-hover)
}

/* ===== 选中文字高亮 ===== */
[data-dark-mode-theme="dark"] ::selection {
    background:var(--brand-soft);
    color:var(--text)
}

/* ===== 分隔线 ===== */
[data-dark-mode-theme="dark"] hr {
    border-color:var(--line)
}

/* ===== 图片微调 ===== */
[data-dark-mode-theme="dark"] img:not([src$=".svg"]):not([src*=".svg?"]) {
    filter:brightness(.92)
}

/* ===== 代码块 ===== */
[data-dark-mode-theme="dark"] pre,
[data-dark-mode-theme="dark"] code {
    background:var(--line-soft);
    border-color:var(--line)
}

/* ===== 表格 ===== */
[data-dark-mode-theme="dark"] table {
    border-color:var(--line)
}
[data-dark-mode-theme="dark"] th,
[data-dark-mode-theme="dark"] td {
    border-color:var(--line-soft)
}
[data-dark-mode-theme="dark"] th {
    background:var(--line-soft)
}

/* ===== 滚动条 ===== */
[data-dark-mode-theme="dark"] ::-webkit-scrollbar {
    width:8px;
    height:8px
}
[data-dark-mode-theme="dark"] ::-webkit-scrollbar-track {
    background:var(--bg)
}
[data-dark-mode-theme="dark"] ::-webkit-scrollbar-thumb {
    background:var(--line);
    border-radius:4px
}
[data-dark-mode-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background:var(--text-subtle)
}

/* ===== 顶部主题选择器 ===== */
.dark-mode-control {
    grid-column:6;
    grid-row:1;
    position:relative;
    justify-self:end;
    display:flex;
    align-items:center;
    flex:0 0 30px
}
.bar .search-page-link {
    grid-column:5
}
.dark-mode-toggle-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    min-height:30px;
    padding:0;
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    background:var(--panel);
    color:var(--text-muted);
    cursor:pointer;
    outline:none;
    position:relative;
    -webkit-tap-highlight-color:transparent;
    flex-shrink:0
}
.dark-mode-toggle-btn:hover {
    border-color:var(--brand);
    background:var(--brand-soft);
    color:var(--brand)
}
.dark-mode-toggle-btn:focus-visible {
    box-shadow:0 0 0 3px var(--focus-ring);
    border-color:var(--brand)
}
.dark-mode-toggle-btn svg {
    width:17px;
    height:17px
}
.dark-mode-toggle-btn svg:not(.dark-mode-icon-active) {
    display:none
}
.dark-mode-menu {
    position:absolute;
    z-index:110;
    top:calc(100% + 7px);
    right:0;
    display:none;
    width:132px;
    padding:4px;
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    background:var(--panel);
    box-shadow:0 8px 20px var(--shadow-base)
}
.dark-mode-menu.open {
    display:grid;
    gap:2px
}
.dark-mode-option {
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    min-height:30px;
    padding:0 7px;
    border:0;
    border-radius:var(--radius-sm);
    background:transparent;
    color:var(--text-muted);
    font:inherit;
    font-size:var(--font-size-sm);
    text-align:left;
    cursor:pointer
}
.dark-mode-option:hover,
.dark-mode-option.active {
    background:var(--brand-soft);
    color:var(--brand)
}
.dark-mode-option:focus-visible {
    outline:2px solid var(--brand);
    outline-offset:-2px
}
.dark-mode-option svg {
    flex:0 0 16px;
    width:16px;
    height:16px
}

/* ===== 移动端：主题图标紧邻搜索图标之前 ===== */
@media(max-width:720px) {
    .dark-mode-control {
        order:2;
        width:28px;
        height:28px;
        flex-basis:28px
    }
    .dark-mode-toggle-btn {
        width:28px;
        height:28px;
        min-height:28px;
        border:0;
        background:transparent;
        color:var(--text-subtle)!important
    }
    .dark-mode-toggle-btn svg {
        width:24px;
        height:24px
    }
    .bar .search-page-link {
        order:3
    }
    .bar .mobile-menu-button {
        order:4
    }
    .bar .nav-mine {
        order:5
    }
    .dark-mode-toggle-btn:hover {
        background:var(--bg);
        color:var(--text)!important
    }
    .dark-mode-menu {
        top:calc(100% + 5px)
    }
}
/* direct_message_limit */
.direct-message-limit-panel .plugin-panel-body{padding:16px}.direct-message-limit-form{display:grid;gap:14px;max-width:520px}.direct-message-limit-form .grid{grid-template-columns:1fr;gap:6px;margin:0}.direct-message-limit-form .grid>span{padding:0;color:var(--text-muted);font-size:13px}.direct-message-limit-form .grid small{display:block;margin-top:3px;color:var(--text-subtle);font-size:12px;line-height:1.5}.direct-message-limit-form input[type=number]{width:180px;max-width:100%}.direct-message-limit-form button{justify-self:start;min-width:112px;margin:0}@media(max-width:600px){.direct-message-limit-panel .plugin-panel-body{padding:12px}.direct-message-limit-form{max-width:none}.direct-message-limit-form input[type=number]{width:100%}.direct-message-limit-form button{width:100%}}
/* direct_messages */
.direct-messages-layout{display:grid;height:min(78vh,820px);min-height:520px;grid-template-columns:280px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}.direct-messages-list{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;border-right:1px solid var(--line);background:var(--bg)}.direct-messages-list-head{flex:0 0 auto;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:14px 13px 8px}.direct-messages-list-head>div{display:flex;align-items:baseline;gap:9px;min-width:0}.direct-messages-list-head strong{font-size:var(--font-size-lg)}.direct-messages-list-head a{font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.direct-messages-list-head>span{color:var(--text-muted);font-size:var(--font-size-xs);white-space:nowrap}.direct-messages-user-search{flex:0 0 auto;display:flex;gap:6px;padding:0 10px 10px}.direct-messages-user-search input{min-width:0;width:100%;height:32px}.direct-messages-user-search button{min-height:32px;padding:4px 9px;white-space:nowrap}.direct-messages-conversations{display:grid;min-height:0;flex:1 1 auto;align-content:start;overflow-y:auto;overscroll-behavior:contain}.direct-messages-search-head{padding:9px 10px 5px;border-top:1px solid var(--line-soft);color:var(--text-muted);font-size:var(--font-size-xs)}.direct-messages-search-result{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;color:var(--text)}.direct-messages-search-result:hover{background:var(--brand-soft)}.direct-messages-search-result>span:last-child{display:grid;gap:2px;min-width:0}.direct-messages-search-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.direct-messages-search-result small{color:var(--text-muted);font-size:var(--font-size-xs)}.direct-messages-search-empty{padding:8px 10px 10px;color:var(--text-muted);font-size:var(--font-size-xs)}.direct-messages-conversation{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border-top:1px solid var(--line-soft);color:var(--text)}.direct-messages-conversation:hover,.direct-messages-conversation.is-active{background:var(--brand-soft)}.direct-messages-list-avatar,.direct-messages-list-avatar img,.direct-messages-list-avatar .avatar{display:block;width:38px;height:38px;border-radius:50%}.direct-messages-list-main{display:grid;gap:3px;min-width:0}.direct-messages-list-main>span{display:flex;align-items:center;gap:6px;min-width:0}.direct-messages-list-main strong,.direct-messages-search-result strong{font-size:14px}.direct-messages-list-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.direct-messages-list-main time{margin-left:auto;white-space:nowrap}.direct-messages-list-main time,.direct-messages-list-main small{color:var(--text-muted);font-size:var(--font-size-xs)}.direct-messages-list-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.direct-messages-blocked-badge{display:inline-flex;flex:0 0 auto;align-items:center;padding:1px 5px;border-radius:999px;background:var(--danger-soft);color:var(--danger);font-size:10px;font-weight:700;line-height:1.35;white-space:nowrap}.direct-messages-conversation em{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:var(--font-size-xs);font-style:normal}.direct-messages-list-empty{padding:22px 12px;color:var(--text-muted);font-size:var(--font-size-sm);text-align:center}.direct-messages-main{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--panel)}.direct-messages-thread-head{flex:0 0 auto;padding:10px 14px;border-bottom:1px solid var(--line)}.direct-messages-thread-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.direct-messages-thread-user{display:flex;min-width:0;align-items:center;gap:9px;color:var(--text)}.direct-messages-thread-avatar{display:block;flex:0 0 auto;width:36px;height:36px}.direct-messages-thread-avatar img,.direct-messages-thread-avatar .avatar{display:block;width:36px;height:36px;border-radius:50%}.direct-messages-thread-user>span:last-child{display:grid;min-width:0}.direct-messages-thread-head small{color:var(--text-muted);font-size:var(--font-size-xs)}.direct-messages-mobile-back{display:none}.direct-messages-block-form{flex:0 0 auto;margin:0}.direct-messages-main .direct-messages-block-button{min-height:30px;padding:4px 9px;border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--font-size-xs);font-weight:700;line-height:1;white-space:nowrap}.direct-messages-main .direct-messages-block-button:hover{border-color:var(--danger);background:var(--danger);color:var(--inverse-text)}.direct-messages-main .direct-messages-block-button.is-blocked{border-color:var(--line);background:var(--bg);color:var(--text-muted)}.direct-messages-main .direct-messages-block-button.is-blocked:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.direct-messages-thread{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;gap:10px;padding:12px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.direct-messages-message{box-sizing:border-box;display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:12px;border-radius:var(--radius-sm);background:var(--bg)}.direct-messages-message.is-mine{background:var(--brand-soft)}.direct-messages-avatar .avatar-profile-link{display:block;width:36px;height:36px}.direct-messages-avatar img,.direct-messages-avatar .avatar{display:block;width:36px;height:36px;border-radius:var(--radius-sm)}.direct-messages-body{min-width:0}.direct-messages-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 9px;margin-bottom:5px}.direct-messages-meta strong{font-size:var(--font-size-sm)}.direct-messages-meta time{color:var(--text-subtle);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.direct-messages-content{color:var(--text);font-size:var(--font-size-sm);line-height:1.75;white-space:normal;overflow-wrap:anywhere}.direct-messages-quote{display:block;margin:4px 0;padding-left:9px;border-left:2px solid var(--line);color:var(--text-muted)}.direct-messages-thread-empty,.direct-messages-welcome{margin:auto;padding:30px;color:var(--text-muted);text-align:center}.direct-messages-thread-empty{display:flex;min-height:400px;align-items:center;justify-content:center}.direct-messages-welcome strong{color:var(--text);font-size:var(--font-size-lg)}.direct-messages-welcome{max-width:420px}.direct-messages-welcome p{line-height:1.7}.direct-messages-paging{flex:0 0 auto;display:flex;justify-content:space-between;padding:8px 16px;font-size:var(--font-size-sm);border-top:1px solid var(--line-soft)}.direct-messages-compose,.direct-messages-blocked-notice{flex:0 0 auto;padding:12px;border-top:1px solid var(--line);background:var(--bg)}.direct-messages-compose{display:grid;gap:7px}.direct-messages-compose textarea{width:100%;max-width:none;min-height:88px;resize:vertical}.direct-messages-compose>div{display:flex;align-items:center;justify-content:space-between}.direct-messages-compose span,.direct-messages-blocked-notice{color:var(--text-muted);font-size:var(--font-size-xs)}.direct-messages-compose button{min-width:78px}.direct-messages-blocked-notice{line-height:1.6}.direct-messages-compose-status{flex:1 1 auto;padding:0 10px;text-align:right}.direct-messages-compose-status.is-error{color:var(--danger)}.direct-messages-compose.is-sending textarea,.direct-messages-compose.is-sending button{opacity:.72}.direct-messages-compose.is-sending button{cursor:wait}.direct-messages-admin-panel .plugin-panel-body{padding:16px}.direct-messages-admin-form{display:grid;gap:14px;max-width:520px}.direct-messages-admin-form .grid{grid-template-columns:1fr;gap:6px;margin:0}.direct-messages-admin-form .grid>span{padding:0;color:var(--text-muted);font-size:var(--font-size-xs)}.direct-messages-admin-form input[type=number]{width:180px;max-width:100%}.direct-messages-admin-form button{justify-self:start;min-width:112px;margin:0}@media(max-width:720px){.direct-messages-layout{display:block;height:auto;min-height:0}.direct-messages-list{border-right:0}.direct-messages-layout.has-thread .direct-messages-list{display:none}.direct-messages-layout:not(.has-thread) .direct-messages-main{display:none}.direct-messages-layout .direct-messages-thread-head .direct-messages-mobile-back{display:inline-flex;margin-bottom:8px;color:var(--text-muted);font-size:var(--font-size-sm)}.direct-messages-thread{height:52vh;min-height:320px;flex:none;padding:10px}.direct-messages-message{grid-template-columns:32px minmax(0,1fr);padding:10px}.direct-messages-avatar img,.direct-messages-avatar .avatar{width:32px;height:32px}.direct-messages-compose{position:sticky;bottom:0}.direct-messages-user-search input{font-size:16px}.direct-messages-admin-panel .plugin-panel-body{padding:12px}.direct-messages-admin-form input[type=number],.direct-messages-admin-form button{width:100%}}
/* donate */
/* ===== Donate entry below topic content ===== */
.donate-area{position:relative;display:flex;clear:both;flex:0 0 100%;box-sizing:border-box;width:100%;justify-content:center;margin:16px 0 2px}
.donate-area:not(.donate-area-has-entry){height:0;margin:0}
.donate-entry{position:relative;z-index:12;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;height:auto;padding:7px 13px;border:1px solid #c96b08;border-radius:var(--radius-sm);background:linear-gradient(180deg,#f5a623 0%,#e88918 100%);box-shadow:0 3px 8px rgba(180,93,9,.22),inset 0 1px 0 rgba(255,255,255,.28);color:#fff!important;font-family:inherit;font-size:13px;font-weight:500;line-height:1.2;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.donate-entry::after{display:none}
.donate-entry.btn:hover,.donate-entry.btn:active{border-color:#d87a08;background:linear-gradient(180deg,#ffc247 0%,#f29a1f 100%);box-shadow:0 5px 12px rgba(180,93,9,.28),inset 0 1px 0 rgba(255,255,255,.36);color:#fff!important;filter:none;transform:translateY(-1px)}
.donate-entry-symbol{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border:2px solid currentColor;border-radius:50%;font-family:Arial,sans-serif;font-size:13px;font-weight:700;line-height:1}.donate-entry.btn:focus-visible{outline:3px solid rgba(232,137,24,.34);outline-offset:3px}

/* Records - two barrage tracks floating inside post-content */
.donate-barrage{position:absolute;z-index:8;right:0;bottom:calc(100% + 20px);left:0;height:100px;overflow:hidden;pointer-events:none}
.donate-barrage-item{position:absolute;left:100%;display:flex;align-items:center;gap:7px;min-height:34px;padding:4px 6px;border:0;border-radius:999px;background:linear-gradient(90deg,#df7a22 0%,#f09a36 48%,#fff1dc 100%);background-clip:padding-box;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(180,93,9,.08),0 1px 3px rgba(180,93,9,.1);color:#fff;white-space:nowrap;top:var(--donate-top,0);will-change:transform;animation-name:donate-barrage-slide;animation-duration:var(--donate-dur,12s);animation-timing-function:linear;animation-delay:var(--donate-delay,0s);animation-iteration-count:1;animation-fill-mode:both;animation-play-state:running}
.donate-barrage-item:hover{animation-play-state:paused}
.donate-barrage-item[data-donate-color="0"]{--donate-item-bg:#e74c3c}
.donate-barrage-item[data-donate-color="1"]{--donate-item-bg:#e67e22}
.donate-barrage-item[data-donate-color="2"]{--donate-item-bg:#f39c12}
.donate-barrage-item[data-donate-color="3"]{--donate-item-bg:#27ae60}
.donate-barrage-item[data-donate-color="4"]{--donate-item-bg:#16a085}
.donate-barrage-item[data-donate-color="5"]{--donate-item-bg:#2980b9}
.donate-barrage-item[data-donate-color="6"]{--donate-item-bg:#8e44ad}
.donate-barrage-item[data-donate-color="7"]{--donate-item-bg:#d35400}
.donate-barrage-item[data-donate-color="8"]{--donate-item-bg:#c0392b}
.donate-barrage-item[data-donate-color="9"]{--donate-item-bg:#2c3e50}
.donate-barrage-avatar-wrap{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;overflow:hidden;border:1px solid rgba(255,255,255,.96);border-radius:50%;background:#fff;line-height:0}
.donate-barrage-avatar-wrap>.avatar-profile-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;overflow:hidden;line-height:0}
.donate-barrage-item .donate-barrage-avatar,.donate-barrage-avatar-wrap .avatar-img{display:block;width:100%;height:100%;max-width:none;margin:0;border-radius:50%;object-fit:cover;object-position:center;vertical-align:middle}
.donate-barrage-user{max-width:120px;overflow:hidden;color:#fff;font-size:var(--font-size-sm);font-weight:700;text-overflow:ellipsis;text-shadow:0 1px 1px rgba(109,45,0,.18)}
.donate-barrage-action{color:rgba(255,255,255,.82);font-size:var(--font-size-sm);font-weight:600;line-height:1}
.donate-barrage-liked{color:#fff;font-weight:700}
.donate-barrage-amount{display:inline-flex;align-items:baseline;gap:2px;color:#a94700;font-size:var(--font-size-sm);font-weight:900;line-height:1;text-shadow:none}
.donate-barrage-amount b{font-size:var(--font-size-md);font-weight:900}
.donate-barrage-unit{color:rgba(122,55,4,.68);font-size:10px;font-weight:600;line-height:1}
@keyframes donate-barrage-slide{0%{transform:translate3d(0,0,0);opacity:1}92%{opacity:1}100%{transform:translate3d(var(--donate-dist,-1500px),0,0);opacity:0}}

/* ===== Donate Modal ===== */
.donate-modal{display:grid;gap:12px;padding:2px 0}
.donate-modal-head strong{display:block;color:var(--text);font-size:var(--font-size-lg);line-height:1.4}
.donate-modal-info{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.5}
.donate-modal [data-donate-form]{display:grid;gap:10px;margin:0}
.donate-presets{display:flex;flex-wrap:wrap;gap:8px}
.donate-preset-btn{flex:1;min-width:60px;padding:10px 8px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel);color:var(--text);font-size:var(--font-size-md);font-weight:700;cursor:pointer;transition:all .2s ease}
.donate-preset-btn:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.donate-preset-btn.active{border-color:var(--brand);background:var(--brand);color:var(--inverse-text)}
.donate-custom{margin:0}
.donate-custom .donate-grid{display:flex;align-items:center;gap:10px}
.donate-custom .donate-grid span{flex:0 0 auto;color:var(--text-muted);font-size:var(--font-size-sm);white-space:nowrap}
.donate-custom-input{flex:1;padding:9px 12px;border:1px solid var(--line-soft);border-radius:8px;background:var(--bg);color:var(--text);font-size:var(--font-size-md);text-align:center}
.donate-custom-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--focus-ring)}
.donate-submit-btn{display:flex;align-items:center;justify-content:center;width:100%;margin-top:2px;padding:12px;border:1px solid #c96b08;border-radius:8px;background:linear-gradient(180deg,#f5a623 0%,#e88918 100%);box-shadow:0 3px 8px rgba(180,93,9,.22),inset 0 1px 0 rgba(255,255,255,.28);color:#fff;font-size:var(--font-size-md);font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.donate-submit-btn:hover,.donate-submit-btn:active{border-color:#d87a08;background:linear-gradient(180deg,#ffc247 0%,#f29a1f 100%);box-shadow:0 5px 12px rgba(180,93,9,.28),inset 0 1px 0 rgba(255,255,255,.36);color:#fff;opacity:1;transform:translateY(-1px)}
.donate-submit-btn:focus-visible{outline:3px solid rgba(232,137,24,.34);outline-offset:3px}
.donate-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* Admin donation records */
.donate-admin-record .admin-row-main{width:100%;min-width:0}
.donate-admin-record .admin-user-cell{display:flex;align-items:center;width:100%;min-width:0;gap:10px}
.donate-admin-record .table-avatar{flex:0 0 32px;width:32px;height:32px}
.donate-admin-record-user{flex:0 0 auto;color:var(--text);font-size:var(--font-size-sm);font-weight:700;white-space:nowrap}
.donate-admin-record-desc{min-width:0;flex:1;overflow:hidden;color:var(--text-muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}
.donate-admin-record-amount{flex:0 0 auto;color:var(--warning);font-size:var(--font-size-sm);font-weight:800;white-space:nowrap}

/* Responsive */
@media(max-width:600px){
    .donate-preset-btn{min-width:50px;padding:8px 6px;font-size:var(--font-size-sm)}
    .donate-area{margin-top:14px}
    .donate-entry{box-sizing:border-box;min-width:0;padding:7px 13px;gap:6px;font-size:13px;line-height:1.2;flex:0 0 auto}
    .donate-entry-symbol{flex:0 0 18px;width:18px;height:18px;font-size:13px}
    .donate-barrage{height:100px}
    .donate-barrage-user{max-width:88px}
    .donate-admin-record .admin-user-cell{gap:7px}
    .donate-admin-record-desc{font-size:var(--font-size-xs)}
}
.donate-area .donate-barrage-item{animation:none}
.donate-area .donate-actions{position:relative;z-index:12;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:100%}
.donate-area .donate-barrage-control{min-height:32px;padding:7px 13px;font-size:13px}
.donate-area .donate-barrage-control[aria-pressed="true"]{color:var(--text-muted)}
.donate-area .donate-barrage-hidden{visibility:hidden;opacity:0}
.donate-reaction-form{display:inline-flex}.donate-reaction-form .donate-reaction-action{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:2px;width:auto;min-width:24px;height:24px;min-height:24px;margin:0;padding:0 3px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:11px;font-weight:500;line-height:1;opacity:.55}.donate-reaction-form .donate-reaction-action:hover{background:var(--line-soft);color:var(--brand);opacity:1}.donate-reaction-form .donate-reaction-action.active{color:var(--brand);opacity:1}.donate-topic-reaction-action.icon-action{gap:2px;width:auto;min-width:24px;padding:0 4px}.donate-topic-reaction-action.icon-action:before{display:none}.donate-topic-reaction-action:hover,.donate-topic-reaction-action.active{color:var(--brand);opacity:1}.icon-action .donate-topic-reaction-count{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;white-space:nowrap;border:0;font-size:11px;font-weight:600;line-height:1}.donate-reaction-icon{width:14px;height:14px;flex:0 0 14px}.donate-reaction-icon path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.donate-reaction-action.active .donate-reaction-icon path,.donate-topic-reaction-action.active .donate-reaction-icon path{fill:currentColor}.donate-reaction-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.donate-reaction-dialog{display:grid;gap:14px}.donate-reaction-recipient{margin:0;color:var(--text-muted);font-size:var(--font-size-sm)}.donate-reaction-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.donate-reaction-tier{min-width:0;margin:0;padding:10px 6px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel);color:var(--text);font-weight:700}.donate-reaction-tier:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.donate-reaction-tier.active{border-color:var(--brand);background:var(--brand);color:var(--inverse-text)}.donate-reaction-dialog .confirm-actions{margin-top:0}.post-head:has(.donate-reaction-form){padding-right:104px}.post-head:has(.donate-topic-reaction-action){padding-right:112px}.topic-post-list .post-head.has-floor:has(.donate-reaction-form){padding-right:140px}@media(max-width:560px){.donate-reaction-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}.post-head:has(.donate-reaction-form){padding-right:110px}.post-head:has(.donate-topic-reaction-action){padding-right:118px}.topic-post-list .post-head.has-floor:has(.donate-reaction-form){padding-right:146px}}
/* forum_enhancements */
.forum-enhancements-nav{display:flex;min-width:0;flex-wrap:wrap;gap:6px;padding:0 0 16px;border-bottom:1px solid var(--line)}
.forum-enhancements-link{--forum-enhancements-color:#516185;display:flex;align-items:center;justify-content:space-between;gap:0;flex:0 1 auto;height:32px;min-width:0;padding:0 10px;border:1px solid var(--line);border-left:2px solid var(--forum-enhancements-color);border-radius:4px;background:var(--panel);color:var(--text);font-size:14px;font-weight:400;line-height:21px;transition:border-color .15s,background-color .15s}
.forum-enhancements-link:hover{border-color:color-mix(in srgb,var(--forum-enhancements-color) 55%,var(--line));border-left-color:var(--forum-enhancements-color);background:color-mix(in srgb,var(--forum-enhancements-color) 4%,var(--panel));color:var(--text)}
.forum-enhancements-link.active{border-color:color-mix(in srgb,var(--forum-enhancements-color) 40%,var(--line));border-left-color:color-mix(in srgb,var(--forum-enhancements-color) 40%,var(--line));background:color-mix(in srgb,var(--forum-enhancements-color) 8%,var(--panel))}
.forum-enhancements-link-main{display:flex;align-items:center;gap:6px;min-width:0;color:var(--text);font-size:13px;font-weight:500;line-height:19.5px}
.forum-enhancements-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.forum-enhancements-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--forum-enhancements-color)}
.forum-enhancements-count{min-width:18px;margin-left:0;color:var(--text-muted);font-size:12px;font-weight:400;line-height:18px;font-variant-numeric:tabular-nums}
.forum-enhancements-empty{padding:16px;color:var(--text-muted);text-align:center}
.forum-enhancements-forum-header{margin:0 0 10px}
.forum-enhancements-directory{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 6px 18px var(--shadow-base)}
.forum-enhancements-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 5px}
.forum-enhancements-forum-header h1{margin:0;color:var(--text);font-size:var(--font-size-xl);font-weight:700;line-height:1.35}
.forum-enhancements-topic-count{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border:1px solid var(--line-soft);border-radius:999px;background:var(--bg);color:var(--text-muted);font-size:var(--font-size-xs);line-height:1}
.forum-enhancements-description{margin:0 0 12px;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.6;overflow-wrap:anywhere}
.forum-enhancements-sidebar-list{display:grid;grid-template-columns:1fr}
.forum-enhancements-sidebar-list li{min-width:0;border-bottom:1px solid var(--bg)}
.forum-enhancements-sidebar-list a{gap:8px;min-width:0}
.forum-enhancements-sidebar-list a:before,.forum-enhancements-sidebar-list a.active:before{flex:0 0 6px;background:var(--forum-enhancements-color)}
.forum-enhancements-sidebar-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.forum-enhancements-sidebar-count{flex:0 0 auto;color:var(--text-subtle);font-size:var(--font-size-xs);font-weight:400;font-variant-numeric:tabular-nums}
.forum-enhancements-sidebar-list a.active{color:var(--text);font-weight:700}
.forum-enhancements-directory h1{margin:0;color:var(--text);font-size:32px;line-height:1.2}
.forum-enhancements-directory>p{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:12px 0 26px;color:var(--text-muted);font-size:var(--font-size-lg)}
.forum-enhancements-directory-kicker{margin-bottom:8px;color:var(--text-subtle);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.12em}
.forum-enhancements-nav-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;border-bottom:0}
.forum-enhancements-nav-directory .forum-enhancements-link{width:100%;height:64px;padding:0 18px;border-left-width:3px;border-radius:6px}
.forum-enhancements-nav-directory .forum-enhancements-link-main{font-size:16px;line-height:24px}
.forum-enhancements-nav-directory .forum-enhancements-dot{width:10px;height:10px;flex-basis:10px}
.forum-enhancements-nav-directory .forum-enhancements-count{font-size:14px;line-height:21px}
.forum-enhancements-admin{max-width:none}
.forum-enhancements-top-settings{display:block!important;margin-bottom:22px}
.forum-enhancements-switch{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 10px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}
.forum-enhancements-switch>span{display:grid;gap:3px}.forum-enhancements-switch small{color:var(--text-muted);font-weight:400}
.forum-enhancements-switch input{width:42px;height:24px;flex:0 0 auto}
.forum-enhancements-custom-links{margin:10px 0 14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}
.forum-enhancements-custom-links-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.forum-enhancements-custom-links-head>span{display:grid;gap:3px}.forum-enhancements-custom-links-head small{color:var(--text-muted);font-weight:400}
.forum-enhancements-custom-link-list{display:grid;gap:8px}.forum-enhancements-custom-link-row{display:grid;grid-template-columns:minmax(130px,180px) minmax(240px,1fr) auto auto;align-items:center;gap:8px}.forum-enhancements-custom-link-row input{min-width:0;margin:0}.forum-enhancements-custom-link-row button{margin:0;white-space:nowrap}.forum-enhancements-custom-link-new-window{display:inline-flex;align-items:center;gap:5px;margin:0;color:var(--text-muted);font-size:var(--font-size-sm);white-space:nowrap}.forum-enhancements-custom-link-new-window input{width:auto;min-width:0}
.forum-enhancements-admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px}.forum-enhancements-admin-head h2{margin:0}.forum-enhancements-admin-head a,.forum-enhancements-edit-head a{color:var(--brand);font-size:var(--font-size-sm)}
.forum-enhancements-table{margin-top:14px}.forum-enhancements-table th:first-child,.forum-enhancements-table td:first-child{width:40%;min-width:220px}
.forum-enhancements-admin-preview{--forum-enhancements-color:#516185;display:flex;align-items:center;gap:9px;min-width:0}.forum-enhancements-admin-preview>span{display:grid;gap:1px;min-width:0}.forum-enhancements-admin-preview i,.forum-enhancements-color-value i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--forum-enhancements-color)}.forum-enhancements-admin-preview strong{white-space:normal;overflow-wrap:anywhere}.forum-enhancements-admin-preview small{color:var(--text-subtle);font-weight:400}
.forum-enhancements-color-value{--forum-enhancements-color:#516185;display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);white-space:nowrap}
.forum-enhancements-edit-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.forum-enhancements-edit-head h2{margin:0}
.forum-enhancements-edit-page input[type="color"]{width:64px;height:38px;padding:3px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);cursor:pointer}
body:has(.forum-enhancements-config[data-hide-top="1"]) .forum-nav .forum-link:not(.forum-enhancements-custom-top-link){display:none}
body:has(.forum-enhancements-config[data-hide-top="1"]) .forum-more-toggle,body:has(.forum-enhancements-config[data-hide-top="1"]) .forum-more-region{display:none}
@media(max-width:720px){.forum-enhancements-nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px;scrollbar-width:none}.forum-enhancements-nav::-webkit-scrollbar{display:none}.forum-enhancements-link{flex:0 0 auto}.forum-enhancements-forum-header{margin-bottom:10px}.forum-enhancements-directory{margin:0 -12px;padding:20px 14px;border-width:1px 0;border-radius:0;box-shadow:none}.forum-enhancements-directory h1{font-size:26px}.forum-enhancements-directory>p{margin:9px 0 18px;font-size:var(--font-size-md)}.forum-enhancements-nav-directory{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding:0;border:0}.forum-enhancements-nav-directory .forum-enhancements-link{width:100%;height:56px;padding:0 14px}.forum-enhancements-switch{align-items:flex-start}.forum-enhancements-custom-links-head{align-items:flex-start;flex-direction:column}.forum-enhancements-custom-link-row{grid-template-columns:1fr}.forum-enhancements-custom-link-new-window{justify-self:start}.forum-enhancements-table{min-width:680px}}
@media(max-width:460px){.forum-enhancements-nav-directory{grid-template-columns:1fr}}
/* gacha */
/* ====== 称号徽章 ====== */
.gacha-title-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border:1px solid var(--gacha-border);border-radius:var(--radius-sm);background:var(--gacha-bg);color:var(--gacha-color);font-size:var(--font-size-xs);line-height:1.5;vertical-align:middle;white-space:nowrap;pointer-events:none}
.gacha-title-link{pointer-events:auto;text-decoration:none;cursor:pointer;transition:filter var(--transition-normal),box-shadow var(--transition-normal)}
.gacha-title-link:hover{color:var(--gacha-color);filter:brightness(.96);box-shadow:var(--shadow-base)}
.gacha-title-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.topic-post-list>.post-entry .post-head .gacha-title-post-badge{gap:0;border:0;background:var(--gacha-bg);color:var(--gacha-color);font-weight:400;text-decoration:none}
.topic-post-list>.post-entry .post-head .gacha-title-post-badge .gacha-title-name{font-weight:inherit}
.topic-post-list>.post-entry .post-head .gacha-title-post-badge .gacha-title-serial{position:relative;z-index:2;margin-left:2px;padding:1px 3px;border-radius:var(--radius-sm);background:rgba(255,255,255,.74);color:inherit;font-size:var(--font-size-xxs);font-weight:800;line-height:1.35}
.topic-post-list>.post-entry .post-head .gacha-title-post-badge:hover{color:var(--gacha-color);filter:brightness(.96)}
.topic-post-list>.post-entry .post-head .gacha-title-post-badge.gacha-title-ur{position:relative;isolation:isolate;overflow:hidden;background:rgba(168,85,247,.12);color:#a855f7;text-shadow:0 0 7px rgba(168,85,247,.12)}
.topic-post-list>.post-entry .post-head .gacha-title-post-badge.gacha-title-ur::after{position:absolute;z-index:1;inset:-2px auto -2px -45%;width:34%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.72),transparent);content:"";pointer-events:none;transform:skewX(-18deg) translateX(-180%);animation:gacha-ur-post-shimmer 3.2s ease-in-out infinite}
@keyframes gacha-ur-post-shimmer{0%,38%{transform:skewX(-18deg) translateX(-180%)}68%,100%{transform:skewX(-18deg) translateX(520%)}}
.topic-post-list>.post-entry .post-head .gacha-title-post-badge.gacha-title-ur:hover{background:rgba(168,85,247,.17);color:#9333ea;filter:none}
[data-dark-mode-theme="dark"] .topic-post-list>.post-entry .post-head .gacha-title-post-badge.gacha-title-ur,[data-themes-color-mode="dark"] .topic-post-list>.post-entry .post-head .gacha-title-post-badge.gacha-title-ur{background:rgba(147,51,234,.24);color:#e9d5ff;text-shadow:0 0 8px rgba(216,180,254,.28)}
[data-dark-mode-theme="dark"] .topic-post-list>.post-entry .post-head .gacha-title-post-badge .gacha-title-serial,[data-themes-color-mode="dark"] .topic-post-list>.post-entry .post-head .gacha-title-post-badge .gacha-title-serial{background:rgba(255,255,255,.14)}
[data-dark-mode-theme="dark"] .topic-post-list>.post-entry .post-head .gacha-title-post-badge.gacha-title-ur:hover,[data-themes-color-mode="dark"] .topic-post-list>.post-entry .post-head .gacha-title-post-badge.gacha-title-ur:hover{background:rgba(147,51,234,.32);color:#f3e8ff}
@media(prefers-reduced-motion:reduce){.topic-post-list>.post-entry .post-head .gacha-title-post-badge.gacha-title-ur::after{animation:none;display:none}}
.gacha-title-icon{font-size:var(--font-size-xs);line-height:1}
.gacha-title-name{font-weight:600}.gacha-sidebar-title{display:flex;align-items:center;margin-top:4px}.gacha-sidebar-title .gacha-title-badge{border:0;box-shadow:none}.gacha-sidebar-title .gacha-title-icon{display:none}
.gacha-title-rarity{margin-left:1px;padding:0 3px;border-radius:var(--radius-sm);background:var(--gacha-color);color:var(--inverse-text);font-size:var(--font-size-xxs);font-weight:700;line-height:1.4}

/* ====== 称号系统主页 ====== */
.gacha-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 4px;flex-wrap:wrap;gap:10px}
.gacha-header-title{font-size:var(--font-size-xl);font-weight:700;color:var(--text)}
.gacha-actions{display:flex;justify-content:center;align-items:center;gap:10px;padding:10px 16px 4px}
.gacha-sub-stats{text-align:center;font-size:var(--font-size-xs);color:var(--text-muted);padding:2px 16px 10px}
.gacha-sub-stats strong{color:var(--text);font-weight:600}
.gacha-sub-stats-sep{padding:0 8px;color:var(--line-soft)}

.gacha-pull-btn{min-height:44px;padding:0 24px;border:2px solid var(--brand);border-radius:var(--radius);background:linear-gradient(135deg,var(--brand),var(--info));color:var(--inverse-text);font-size:var(--font-size-md);font-weight:700;cursor:pointer;transition:all var(--transition-normal)}
.gacha-pull-btn:hover{box-shadow:var(--shadow-base)}
.gacha-pull-1{border-color:var(--brand);background:var(--brand);color:var(--inverse-text)}.gacha-pull-1:hover{border-color:var(--brand-hover);background:var(--brand-hover);color:var(--inverse-text);filter:none;box-shadow:var(--shadow-base)}.gacha-pull-1:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.gacha-pull-btn:disabled{border-color:var(--line-soft);background:var(--line-soft);color:var(--text-disabled);cursor:not-allowed;filter:none;box-shadow:none}
.gacha-pull-10{background:linear-gradient(135deg,var(--warning),var(--danger));border-color:var(--warning)}
.gacha-pull-btn.gacha-pull-10:hover{border-color:var(--danger);background:linear-gradient(135deg,var(--danger),var(--danger));color:var(--inverse-text);filter:brightness(.94);box-shadow:var(--shadow-medium)}

/* ====== 称号池 ====== */
.gacha-pool-section,.gacha-all-titles{padding:0 16px 16px}
.gacha-pool-section h3,.gacha-all-titles h3{margin:0 0 10px;font-size:var(--font-size-md);color:var(--text)}
.gacha-pool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gacha-pool-rarity{padding:12px;border:1px solid var(--gacha-border);border-radius:var(--radius-sm);background:var(--gacha-bg);text-align:center}
.gacha-pool-rarity-label{font-size:var(--font-size-md);font-weight:700;color:var(--gacha-color)}
.gacha-pool-rarity-count{margin-top:2px;font-size:var(--font-size-xs);color:var(--text-muted)}
.gacha-pool-rarity-rate{margin-top:4px;font-size:var(--font-size-lg);font-weight:700;color:var(--gacha-color)}

/* ====== 全部称号 ====== */
.gacha-all-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px}
.gacha-all-item{display:flex;justify-content:center;padding:8px}
.gacha-all-item .gacha-title-badge{font-size:var(--font-size-xs);padding:3px 10px}

/* ====== 抽卡结果 ====== */
.gacha-result{padding:16px;text-align:center}
.gacha-result h2{margin:0 0 20px;font-size:var(--font-size-xl);color:var(--text)}
.gacha-result-card{display:inline-flex;flex-direction:column;align-items:center;gap:8px;padding:30px 40px;border:2px solid var(--gacha-border);border-radius:var(--radius);background:var(--gacha-bg);animation:gacha-card-pop .3s ease both}
@keyframes gacha-card-pop{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
.gacha-result-ssr{animation:gacha-card-glow 1s ease infinite alternate}
@keyframes gacha-card-glow{from{box-shadow:var(--shadow-base)}to{box-shadow:var(--shadow-medium)}}
.gacha-result-rarity{font-size:var(--font-size-lg);font-weight:700;color:var(--gacha-color)}
.gacha-result-icon{font-size:var(--font-size-xl);line-height:1}
.gacha-result-name{font-size:var(--font-size-xl);font-weight:700;color:var(--text)}
.gacha-result-new{display:inline-block;padding:2px 12px;border-radius:var(--radius);background:linear-gradient(135deg,var(--danger),var(--warning));color:var(--inverse-text);font-size:var(--font-size-xs);font-weight:700;animation:gacha-new-pulse 1s ease infinite alternate}
@keyframes gacha-new-pulse{from{transform:scale(1)}to{transform:scale(1.1)}}
.gacha-result-desc{margin-top:4px;color:var(--text-muted);font-size:var(--font-size-sm)}
.gacha-result-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}
.gacha-result-button{display:inline-flex;align-items:center;justify-content:center;min-width:132px;min-height:40px;padding:0 18px;border:1px solid transparent;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:600;line-height:1;text-decoration:none;box-sizing:border-box;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal)}
.gacha-result-button.is-primary{border-color:var(--brand);background:var(--brand);color:var(--inverse-text)}
.gacha-result-button.is-primary:hover{border-color:var(--brand-hover);background:var(--brand-hover);color:var(--inverse-text);box-shadow:var(--shadow-base)}
.gacha-result-button.is-secondary{border-color:var(--brand);background:var(--bg);color:var(--brand)}
.gacha-result-button.is-secondary:hover{border-color:var(--brand-hover);background:var(--brand-soft);color:var(--brand-hover)}
.gacha-result-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* ====== 十连抽 ====== */
.gacha-pull-10-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-width:600px;margin:0 auto}
.gacha-pull-10-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border:1px solid var(--gacha-border);border-radius:var(--radius);background:var(--gacha-bg);position:relative;animation:gacha-card-pop .3s ease both}
.gacha-pull-10-item:nth-child(1){animation-delay:0s}
.gacha-pull-10-item:nth-child(2){animation-delay:.1s}
.gacha-pull-10-item:nth-child(3){animation-delay:.2s}
.gacha-pull-10-item:nth-child(4){animation-delay:.3s}
.gacha-pull-10-item:nth-child(5){animation-delay:.4s}
.gacha-pull-10-item:nth-child(6){animation-delay:.5s}
.gacha-pull-10-item:nth-child(7){animation-delay:.6s}
.gacha-pull-10-item:nth-child(8){animation-delay:.7s}
.gacha-pull-10-item:nth-child(9){animation-delay:.8s}
.gacha-pull-10-item:nth-child(10){animation-delay:.9s}
.gacha-pull-10-icon{font-size:var(--font-size-xl);line-height:1}
.gacha-pull-10-name{font-size:var(--font-size-xs);font-weight:600;color:var(--text);text-align:center}
.gacha-pull-10-rarity{font-size:var(--font-size-xs);font-weight:700;color:var(--gacha-color)}
.gacha-pull-10-new{position:absolute;top:-6px;right:-6px;padding:1px 6px;border-radius:var(--radius);background:linear-gradient(135deg,var(--danger),var(--warning));color:var(--inverse-text);font-size:var(--font-size-xxs);font-weight:700;animation:gacha-new-pulse 1s ease infinite alternate}

/* ====== 个人主页称号 ====== */
.gacha-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:10px 16px}
.gacha-profile-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel);text-align:center;transition:all var(--transition-normal);min-width:0}
.gacha-profile-item.is-equipped{border-color:var(--brand-soft);background:var(--brand-soft)}
.gacha-profile-item.is-expired{opacity:.62;background:var(--line-soft)}
.gacha-profile-item.is-expired .gacha-title-badge{filter:grayscale(.6)}
.gacha-profile-badge{display:flex;justify-content:center;min-height:30px;align-items:center}
.gacha-profile-badge .gacha-title-badge{font-size:var(--font-size-sm);padding:4px 12px;pointer-events:auto}
.gacha-profile-info{display:flex;flex-direction:column;gap:4px;min-width:0;width:100%}
.gacha-profile-desc{font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.gacha-profile-meta{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;font-size:var(--font-size-xs);color:var(--text-subtle)}
.gacha-ur-instance-list{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:3px}.gacha-ur-instance-list span{padding:2px 7px;border-radius:var(--radius-sm);background:var(--bg);color:var(--text-muted);font-size:var(--font-size-xxs);font-weight:700}.gacha-ur-instance-list span.is-equipped{background:var(--brand-soft);color:var(--brand)}
.gacha-status-tag{padding:1px 8px;border-radius:var(--radius);font-size:var(--font-size-xs);font-weight:600;line-height:1.6}
.gacha-status-permanent{background:var(--success-soft);color:var(--success)}
.gacha-status-active{background:var(--brand-soft);color:var(--brand)}
.gacha-status-expired{background:var(--danger-soft);color:var(--danger)}
.gacha-profile-action{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;width:100%;min-height:28px}
.gacha-profile-action-main{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
.gacha-profile-action-main form{margin:0}
.gacha-ur-equip-form{display:flex;align-items:center;gap:5px}.gacha-ur-equip-form select{width:72px;min-height:30px;padding:3px 6px;font-size:var(--font-size-xs)}
.gacha-expired-label{color:var(--danger);font-size:var(--font-size-xs);font-weight:600}
.gacha-equip-btn{min-width:86px;min-height:34px;padding:5px 16px;border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand);color:var(--inverse-text);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all .12s ease}
.gacha-equip-btn:hover{background:var(--brand-hover)}
.gacha-equipped-label{display:inline-flex;align-items:center;justify-content:center;min-width:86px;min-height:34px;color:var(--success);font-size:var(--font-size-xs);font-weight:600}
.gacha-gift-btn{min-width:86px;min-height:34px;padding:5px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:600;cursor:pointer}
.gacha-gift-btn:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}

/* ====== 管理后台 ====== */
.gacha-settings{max-width:none}
.gacha-settings-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:stretch;gap:12px}
.gacha-settings-field{display:flex;flex-direction:column;justify-content:flex-start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}
.gacha-settings-field-title{color:var(--text);font-size:var(--font-size-xs);font-weight:700}
.gacha-settings-field .grid{display:grid;align-content:start;gap:5px;min-width:0}
.gacha-settings-field input:not([type=checkbox]),.gacha-settings-field select{width:100%;max-width:none}
.gacha-settings-field input[type=checkbox]{width:38px;max-width:38px;height:22px}
.gacha-settings-actions{display:flex;gap:8px;margin-top:14px}
.gacha-settings .gacha-settings-actions button{margin:0}
.gacha-admin-form{max-width:400px}.gacha-inline-weight{display:flex;align-items:center;margin:0}.gacha-inline-weight input{width:84px;min-width:0;height:32px;padding:4px 7px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-size:var(--font-size-xs);text-align:center;transition:border-color var(--transition-normal),background var(--transition-normal)}.gacha-inline-weight input:focus{border-color:var(--brand);outline:none}.gacha-inline-weight input[readonly]{background:var(--line-soft);color:var(--text-muted);cursor:wait}.gacha-recipe-panel{margin:10px 16px 14px;padding:14px;border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-soft)}.gacha-recipe-head{display:flex;flex-direction:column;align-items:center;gap:3px;margin-bottom:12px;text-align:center}.gacha-recipe-head strong{color:var(--danger);font-size:var(--font-size-md)}.gacha-recipe-head span{color:var(--text-muted);font-size:var(--font-size-xs)}.gacha-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gacha-recipe-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel)}.gacha-recipe-target{display:flex;align-items:center;justify-content:space-between;gap:8px}.gacha-recipe-materials{display:flex;flex-wrap:wrap;gap:5px}.gacha-recipe-materials span{padding:2px 7px;border-radius:var(--radius-sm);font-size:var(--font-size-xxs)}.gacha-recipe-materials .is-ready{background:var(--success-soft);color:var(--success)}.gacha-recipe-materials .is-missing{background:var(--danger-soft);color:var(--danger)}.gacha-recipe-card form{margin-top:auto}.gacha-recipe-card button{width:100%;min-height:34px}.gacha-recipe-admin .plugin-panel-body{display:grid;gap:16px}.gacha-admin-recipe-list{display:grid;gap:8px}.gacha-admin-recipe-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line-soft);border-radius:var(--radius)}.gacha-admin-recipe-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.gacha-admin-recipe-row span,.gacha-admin-recipe-row small{color:var(--text-muted);font-size:var(--font-size-xs)}.gacha-recipe-admin-form{display:grid;gap:12px}.gacha-recipe-material-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gacha-recipe-material-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gacha-recipe-material-field{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border:1px solid var(--line-soft);border-radius:var(--radius-sm)}.gacha-recipe-material-field input{width:72px}.gacha-recipe-material-field small{color:var(--text-muted)}
.gacha-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.gacha-modal-actions .button{min-height:36px;padding:0 18px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-normal)}
.gacha-modal-actions .button:hover{border-color:var(--brand-soft);color:var(--brand)}
.gacha-modal-actions #gachaModalSubmit{min-height:36px;padding:0 20px;border:1px solid var(--brand);border-radius:var(--radius);background:var(--brand);color:var(--inverse-text);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-normal)}
.gacha-modal-actions #gachaModalSubmit:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.gacha-modal-actions #gachaGiftSubmit,.gacha-modal-actions #gachaAdminGiftSubmit{min-height:36px;padding:0 20px;border:1px solid var(--brand);border-radius:var(--radius);background:var(--brand);color:var(--inverse-text);font-size:var(--font-size-sm);font-weight:600;cursor:pointer}
.gacha-gift-title{margin-bottom:12px;color:var(--text-muted);font-size:var(--font-size-sm)}
.gacha-gift-title strong{color:var(--text)}
.gacha-gift-instance{display:grid;gap:6px;margin-bottom:12px;color:var(--text-muted);font-size:var(--font-size-sm)}.gacha-gift-instance select{width:100%}

/* ====== 个人主页称号 Tab ====== */
.post-list > .empty-state:first-child:last-child{display:none}

/* ====== 称号时效 ====== */
.gacha-result-quantity{margin-top:14px;padding:6px 14px;border-radius:var(--radius);background:var(--line-soft);color:var(--text-muted);font-size:var(--font-size-sm)}
.gacha-expired-label{color:var(--danger);font-size:var(--font-size-xs);font-weight:600}
.gacha-pull-10-quantity{margin-top:2px;font-size:var(--font-size-xxs);color:var(--text-subtle)}

/* ====== 喜报（参考游戏中心样式） ====== */
.gacha-good-news{display:flex;align-items:center;gap:8px;margin:0 16px 12px;padding:8px 12px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg);overflow:hidden}
.gacha-good-news-label{flex:0 0 auto;padding:2px 8px;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--font-size-xs);font-weight:700;white-space:nowrap}
.gacha-good-news-viewport{flex:1;overflow:hidden;min-width:0}
.gacha-good-news-track{display:flex;gap:48px;width:max-content;animation:gacha-news-scroll 40s linear infinite}
.gacha-good-news:hover .gacha-good-news-track{animation-play-state:paused}
.gacha-good-news-item{display:inline-flex;align-items:center;gap:0;font-size:var(--font-size-sm);color:var(--text-muted);white-space:nowrap}
.gacha-good-news-item b{color:var(--text);font-weight:600}
.gacha-good-news-item em{font-style:normal;color:var(--danger);font-weight:600}
@keyframes gacha-news-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ====== 横幅广告 ====== */
.gacha-profile-toolbar{padding:10px 16px 0}
.gacha-banner{display:flex;flex-direction:row!important;flex-wrap:nowrap;align-items:center;gap:0;padding:0 14px;height:70px;border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-soft);text-decoration:none;transition:all var(--transition-normal);cursor:pointer;box-sizing:border-box;min-width:0}.gacha-banner .gacha-profile-info{display:flex;flex:1 1 auto;min-width:0;width:auto!important}.gacha-banner .gacha-profile-action{flex:0 0 auto;width:auto!important;min-width:0}
.gacha-banner-icon{flex:0 0 auto;font-size:var(--font-size-xl);line-height:1;margin-right:12px}
.gacha-banner .gacha-profile-info{flex:1 1 auto;min-width:0;align-items:flex-start;gap:2px;width:auto}
.gacha-banner-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text)}
.gacha-banner-sub{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.gacha-banner .gacha-profile-action{flex:0 0 auto;margin-left:12px}
.gacha-banner-cta{display:inline-block;padding:5px 18px;border:1px solid var(--brand);border-radius:var(--radius);background:var(--brand);color:var(--inverse-text);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;transition:all var(--transition-normal)}
.gacha-banner:hover .gacha-banner-cta{background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:var(--shadow-base)}
.gacha-forge-panel{display:flex;align-items:center;flex-direction:column;gap:12px;margin:10px 16px 14px;padding:14px;border:1px solid var(--warning);border-radius:var(--radius);background:var(--warning-soft);text-align:center}
.gacha-forge-panel>div:first-child{display:flex;flex-direction:column;gap:4px}
.gacha-forge-panel strong{color:var(--text);font-size:var(--font-size-md)}
.gacha-forge-panel span{color:var(--text-muted);font-size:var(--font-size-xs)}
.gacha-forge-actions{display:flex;flex-wrap:nowrap;justify-content:center;gap:10px;width:100%}
.gacha-forge-actions form{flex:0 1 150px}
.gacha-forge-btn{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;min-width:0;padding:8px 10px;border:1px solid var(--warning);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal)}
.gacha-forge-btn small{color:var(--text-muted);font-size:var(--font-size-xxs);font-weight:400}
.gacha-forge-btn:hover:not(:disabled){background:var(--warning);color:var(--inverse-text);box-shadow:var(--shadow-base)}
.gacha-forge-btn:hover:not(:disabled) small{color:var(--inverse-text)}
.gacha-forge-btn:disabled{border-color:var(--line);color:var(--text-disabled);cursor:not-allowed}
.gacha-forge-select{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:180px;min-height:44px;padding:6px 12px;border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand);font-size:var(--font-size-xs);font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;box-sizing:border-box;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal)}
.gacha-forge-select:hover{background:var(--brand);border-color:var(--brand);color:var(--inverse-text);box-shadow:var(--shadow-base)}
.gacha-forge-select:has(input:checked){background:var(--warning);border-color:var(--warning);color:var(--inverse-text);box-shadow:var(--shadow-base)}
.gacha-forge-select input[type=checkbox]{appearance:none;flex:0 0 38px;width:38px;height:22px;margin:0;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 10px 50%,var(--panel) 0 7px,transparent 8px),var(--line-soft);cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal)}.gacha-forge-select input[type=checkbox]:checked{border-color:var(--brand);background:radial-gradient(circle at 27px 50%,var(--panel) 0 7px,transparent 8px),var(--brand)}.gacha-forge-select input[type=number]{width:54px;height:32px;padding:3px 5px;border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-size:var(--font-size-xs);text-align:center;box-sizing:border-box}
.gacha-forge-select:has(input:checked) input{accent-color:var(--inverse-text)}
.gacha-recycle-panel{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;margin:0 16px 14px;padding:14px;border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-soft);text-align:center}
.gacha-recycle-panel>div{display:flex;flex-direction:column;gap:4px}
.gacha-recycle-panel strong{color:var(--text);font-size:var(--font-size-md)}
.gacha-recycle-panel span{color:var(--text-muted);font-size:var(--font-size-xs)}
.gacha-recycle-btn{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:180px;padding:8px 14px;border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger);color:var(--inverse-text);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;transition:filter var(--transition-normal),box-shadow var(--transition-normal)}
.gacha-recycle-btn small{font-size:var(--font-size-xxs);font-weight:400}
.gacha-recycle-btn:hover:not(:disabled){filter:brightness(.94);box-shadow:var(--shadow-base)}
.gacha-recycle-btn:disabled{border-color:var(--line);background:var(--line-soft);color:var(--text-disabled);cursor:not-allowed;filter:none;box-shadow:none}
.gacha-recycle-select{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:180px;min-height:44px;margin-top:2px;padding:6px 12px;border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--font-size-xs);font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;box-sizing:border-box;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal)}
.gacha-recycle-select:hover{background:var(--danger);border-color:var(--danger);color:var(--inverse-text);box-shadow:var(--shadow-base)}
.gacha-recycle-select:has(input:checked){background:var(--danger);border-color:var(--danger);color:var(--inverse-text);box-shadow:var(--shadow-base)}
.gacha-recycle-select input[type=checkbox]{appearance:none;flex:0 0 38px;width:38px;height:22px;margin:0;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 10px 50%,var(--panel) 0 7px,transparent 8px),var(--line-soft);cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal)}.gacha-recycle-select input[type=checkbox]:checked{border-color:var(--danger);background:radial-gradient(circle at 27px 50%,var(--panel) 0 7px,transparent 8px),var(--danger)}.gacha-recycle-select input[type=number]{width:54px;height:32px;padding:3px 5px;border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-size:var(--font-size-xs);text-align:center;box-sizing:border-box}
.gacha-profile-action{gap:6px}.gacha-profile-action-main{gap:6px}.gacha-equip-btn{min-width:76px;min-height:30px;padding:4px 12px;border-color:var(--brand-soft);background:var(--brand-soft);color:var(--brand)}.gacha-equip-btn:hover{border-color:var(--brand);background:var(--brand);color:var(--inverse-text)}.gacha-equipped-label{min-width:76px;min-height:30px}.gacha-gift-btn{min-width:76px;min-height:30px;padding:4px 12px;border-color:var(--line-soft);background:transparent;font-weight:500}.gacha-forge-select,.gacha-recycle-select{max-width:160px;min-height:36px;gap:7px;padding:4px 9px;background:var(--panel);box-shadow:none}.gacha-forge-select:hover,.gacha-forge-select:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand);box-shadow:none}.gacha-recycle-select:hover,.gacha-recycle-select:has(input:checked){border-color:var(--danger);background:var(--danger-soft);color:var(--danger);box-shadow:none}.gacha-forge-select input[type=checkbox],.gacha-recycle-select input[type=checkbox]{flex-basis:34px;width:34px;height:20px}.gacha-forge-select input[type=checkbox]:checked{background:radial-gradient(circle at 23px 50%,var(--panel) 0 6px,transparent 7px),var(--brand)}.gacha-recycle-select input[type=checkbox]:checked{background:radial-gradient(circle at 23px 50%,var(--panel) 0 6px,transparent 7px),var(--danger)}.gacha-forge-select input[type=number],.gacha-recycle-select input[type=number]{width:48px;height:28px}
/* ====== 我的称号页面 ====== */
.gacha-profile-page,.gacha-center-page{display:grid;gap:18px;min-width:0}
.gacha-center-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 8px 24px var(--shadow-base)}
.gacha-center-header>div{display:grid;gap:6px}
.gacha-center-header p{margin:0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.6}
.gacha-center-stat{flex:0 0 auto;padding:7px 12px;border-radius:var(--radius);background:var(--bg);color:var(--text-muted);font-size:var(--font-size-xs);white-space:nowrap}
.gacha-internal-nav{display:flex;gap:6px;padding:6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow-x:auto;scrollbar-width:none}
.gacha-internal-nav::-webkit-scrollbar{display:none}
.gacha-internal-nav a{flex:1 0 auto;padding:9px 14px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:600;text-align:center;text-decoration:none;white-space:nowrap;transition:background var(--transition-normal),color var(--transition-normal)}
.gacha-internal-nav a:hover{background:var(--bg);color:var(--text)}
.gacha-internal-nav a.is-active{background:var(--brand-soft);color:var(--brand)}
.gacha-profile-collection-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:2px 4px 0}
.gacha-profile-collection-head>div{display:grid;gap:3px}
.gacha-profile-collection-head strong{color:var(--text);font-size:var(--font-size-lg)}
.gacha-profile-collection-head span{color:var(--text-muted);font-size:var(--font-size-xs)}
.gacha-profile-page>.gacha-profile-titles{display:block}
.gacha-profile-page .gacha-profile-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.gacha-profile-page .gacha-profile-grid>.gacha-profile-item{padding:20px 16px;border-color:var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 5px 18px var(--shadow-base);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}
.gacha-profile-page .gacha-profile-grid>.gacha-profile-item:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 10px 28px var(--shadow-medium)}
.gacha-profile-page .gacha-profile-grid>.gacha-profile-item.is-equipped{border-color:var(--brand);background:linear-gradient(180deg,var(--brand-soft),var(--panel))}
.gacha-profile-page .gacha-profile-desc{min-height:22px;line-height:1.55}
.gacha-profile-page .gacha-profile-meta{justify-content:center;gap:8px}
.gacha-profile-page .gacha-profile-action{padding-top:4px;border-top:1px solid var(--line-soft)}
.gacha-center-page>.gacha-forge-panel,.gacha-center-page>.gacha-recycle-panel,.gacha-center-page>.gacha-recipe-panel{margin:0;padding:18px;border-color:var(--line);background:var(--panel);box-shadow:0 6px 20px var(--shadow-base)}
.gacha-center-page>.gacha-forge-panel{align-items:stretch;text-align:left}
.gacha-center-page>.gacha-forge-panel>div:first-child{align-items:flex-start}
.gacha-center-page>.gacha-forge-panel .gacha-forge-actions{justify-content:center}
.gacha-center-page>.gacha-recycle-panel{align-items:center;flex-direction:row;justify-content:space-between;text-align:left}
.gacha-center-page>.gacha-recycle-panel>div{align-items:flex-start}
.gacha-center-page>.gacha-recipe-panel .gacha-recipe-head{align-items:flex-start;text-align:left}
.gacha-operation-section{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 6px 20px var(--shadow-base)}
.gacha-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.gacha-section-head strong{color:var(--text);font-size:var(--font-size-md)}
.gacha-section-head span{color:var(--text-muted);font-size:var(--font-size-xs)}
.gacha-operation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gacha-operation-grid>.empty-state{grid-column:1/-1}
.gacha-operation-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);text-align:center;box-shadow:0 5px 18px var(--shadow-base);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}
.gacha-operation-card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 10px 28px var(--shadow-medium)}
.gacha-operation-card>div{display:grid;justify-items:center;gap:8px;width:100%}
.gacha-operation-card .gacha-title-badge{width:auto;max-width:100%}
.gacha-operation-card p{min-height:22px;margin:0;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.55}
.gacha-operation-card>span{color:var(--text-subtle);font-size:var(--font-size-xs)}
.gacha-operation-card .gacha-forge-select,.gacha-operation-card .gacha-recycle-select{width:100%;max-width:none;margin-top:auto;padding-top:12px;border:1px solid var(--line);background:transparent}
.gacha-operation-card .gacha-forge-select input[type=number],.gacha-operation-card .gacha-recycle-select input[type=number]{border-color:var(--line)}
/* ====== 响应式 ====== */
.gacha-market-note{margin:0;padding:12px 16px;border:1px solid var(--brand);border-radius:var(--radius);background:var(--brand-soft);color:var(--text);font-size:var(--font-size-sm)}
.gacha-market-nav{display:flex;align-items:center;gap:12px;padding:0 4px 9px;border-bottom:1px solid var(--line);background:transparent;min-width:0}
.gacha-market-nav-label{flex:0 0 auto;color:var(--text-subtle);font-size:var(--font-size-xxs);font-weight:700;letter-spacing:.12em}
.gacha-market-nav>div{display:flex;flex:1 1 auto;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}
.gacha-market-nav>div::-webkit-scrollbar{display:none}
.gacha-market-nav a{flex:0 0 auto;padding:7px 12px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:600;text-align:center;text-decoration:none;white-space:nowrap;transition:background var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal)}
.gacha-market-nav a:hover{background:var(--brand-soft);color:var(--brand)}
.gacha-market-nav a.is-active{background:var(--brand-soft);box-shadow:inset 0 -2px 0 var(--brand);color:var(--brand)}
.gacha-center-page>.gacha-market-nav+.gacha-market-note,.gacha-center-page>.gacha-market-nav+.gacha-market-section,.gacha-center-page>.gacha-market-note+.gacha-market-section{margin-top:0}
.gacha-market-section{min-width:0;margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-base);overflow:hidden}
.gacha-market-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.gacha-market-head h2{margin:0;font-size:var(--font-size-lg)}
.gacha-market-head span{color:var(--text-muted);font-size:var(--font-size-xs)}
.gacha-market-filters{display:flex;align-items:end;gap:10px;margin:-4px 0 16px;flex-wrap:wrap}
.gacha-market-filters label{display:grid;gap:5px;min-width:140px;color:var(--text-muted);font-size:var(--font-size-xs)}
.gacha-market-filters input,.gacha-market-filters select{width:100%}
.gacha-market-filters .gacha-market-search{min-width:min(260px,100%);flex:1 1 260px}
.gacha-market-filters button,.gacha-market-filters a{min-height:36px;padding:0 14px;border-radius:var(--radius-sm);font-size:var(--font-size-sm)}
.gacha-market-filters button{border-color:var(--brand-soft);background:var(--brand-soft);color:var(--brand)}
.gacha-market-filters button:hover{border-color:var(--brand);background:var(--bg);color:var(--brand)}
.gacha-market-filters a{display:inline-flex;align-items:center;color:var(--text-muted);text-decoration:none}
.gacha-market-filters a:hover{color:var(--brand);background:var(--brand-soft)}
.gacha-market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gacha-market-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);text-align:center;box-shadow:0 5px 18px var(--shadow-base);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}
.gacha-market-card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 10px 28px var(--shadow-medium)}
.gacha-market-title{display:flex;align-items:center;justify-content:center;width:100%;min-height:30px;font-size:var(--font-size-md)}
.gacha-market-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;width:100%;min-height:44px;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.55}
.gacha-market-meta strong{color:var(--text)}
.gacha-market-buy{display:flex;justify-content:center;gap:6px;width:100%;margin-top:auto;padding-top:12px;border-top:1px solid var(--line-soft)}
.gacha-market-own{width:100%;margin-top:auto;padding-top:12px;border-top:1px solid var(--line-soft);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:600}
.gacha-market-buy input{width:52px;min-height:30px;padding:4px 7px;font-size:var(--font-size-xs);text-align:center}
.gacha-market-buy button{flex:0 0 auto;min-width:76px;min-height:30px;padding:4px 12px;border-color:var(--brand-soft);border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand);font-size:var(--font-size-xs);font-weight:600}
.gacha-market-buy button:hover{border-color:var(--brand);background:var(--brand);color:var(--inverse-text)}
.gacha-market-publish{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,.8fr) minmax(0,.7fr) minmax(0,1.15fr) minmax(0,1fr) auto;align-items:end;gap:12px;min-width:0}
.gacha-market-publish:has(.gacha-market-instance[hidden]){grid-template-columns:minmax(0,2fr) minmax(0,.75fr) minmax(0,1.15fr) minmax(0,1fr) auto}
.gacha-market-publish label{display:grid;gap:6px;min-width:0;color:var(--text-muted);font-size:var(--font-size-xs);white-space:nowrap}
.gacha-market-publish input,.gacha-market-publish select{min-width:0;width:100%}
.gacha-market-list{display:grid;gap:8px}
.gacha-market-row{display:grid;grid-template-columns:minmax(200px,2fr) minmax(120px,1fr) 140px 96px;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line-soft);font-size:var(--font-size-sm)}
.gacha-market-row>strong{justify-self:center;white-space:nowrap}
.gacha-market-row>form{justify-self:end}
.gacha-market-row:last-child{border-bottom:0}
.gacha-market-row small{display:block;margin-top:5px;color:var(--text-muted)}
.gacha-market-cost{color:var(--danger)}
.gacha-market-income{color:var(--success)}
.gacha-market-pagination{margin-top:18px}
@media(max-width:600px){
    .gacha-result-actions{align-items:stretch;flex-direction:column}
    .gacha-result-button{width:100%}
    .gacha-forge-panel{align-items:stretch}
    .gacha-forge-actions{align-items:stretch;flex-direction:column;flex-wrap:wrap;gap:6px}
    .gacha-forge-actions form{flex:0 0 auto;width:100%;margin:0}
    .gacha-forge-btn{width:100%}
    .gacha-recycle-panel{align-items:stretch}
    .gacha-recycle-btn{width:100%}
    .gacha-profile-grid{grid-template-columns:repeat(2,1fr)}
    .gacha-center-header{align-items:flex-start;flex-direction:column;padding:16px}
    .gacha-center-stat{align-self:flex-start}
    .gacha-internal-nav{margin:0 -2px}
    .gacha-internal-nav a{flex:0 0 auto}
    .gacha-center-page>.gacha-recycle-panel{align-items:stretch;flex-direction:column}
    .gacha-center-page>.gacha-forge-panel .gacha-forge-actions{flex-direction:column}
    .gacha-profile-page .gacha-profile-grid{grid-template-columns:1fr}
    .gacha-pool-grid,.gacha-market-grid{grid-template-columns:1fr}
    .gacha-operation-grid{grid-template-columns:1fr}
    .gacha-recipe-grid,.gacha-recipe-material-fields{grid-template-columns:1fr}
    .gacha-market-section{padding:14px}
    .gacha-market-nav{gap:8px;padding-inline:0}
    .gacha-market-nav a{padding-inline:10px}
    .gacha-market-filters{align-items:stretch;flex-direction:column}
    .gacha-market-filters label,.gacha-market-filters .gacha-market-search{width:100%;min-width:0}
    .gacha-market-filters button,.gacha-market-filters a{justify-content:center;width:100%}
    .gacha-market-publish{grid-template-columns:1fr}
    .gacha-market-row{grid-template-columns:1fr 1fr}
    .gacha-market-row form{justify-self:end}
}
@media(max-width:720px){
    .gacha-settings-fields{grid-template-columns:1fr}
}
/* home_keyword_filter */
.home-keyword-filter-button{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;min-height:28px;padding:3px 2px;border:0;background:transparent;color:var(--text-muted);font-size:var(--font-size-sm);font-weight:500}
.home-keyword-filter-button:hover{background:transparent;color:var(--brand)}
.home-keyword-filter-button:focus-visible{outline:0;color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}
.home-keyword-filter-button .meta-icon{width:15px;height:15px;flex:0 0 15px;color:var(--brand)}
.home-keyword-filter-count{min-width:17px;height:17px;margin-left:1px;padding:0 5px;background:var(--line);color:var(--text-muted);box-shadow:none}
@media(max-width:720px){.home-keyword-filter-button{position:relative;justify-content:center;width:28px;min-width:28px;height:28px;padding:0}.home-keyword-filter-label{display:none}.home-keyword-filter-count{position:absolute;top:-5px;right:-7px;min-width:15px;height:15px;margin:0;padding:0 4px;border:1px solid var(--panel);font-size:10px}}
.home-keyword-filter-count[hidden],.post-list>[data-home-keyword-filter-empty][hidden]{display:none}
.home-keyword-filter-hidden{display:none}
.home-keyword-filter-settings{display:grid;gap:16px}
.home-keyword-filter-intro{margin:0;line-height:1.6}
.home-keyword-filter-section{display:grid;gap:8px}
.home-keyword-filter-section>strong{color:var(--text);font-size:var(--font-size-sm)}
.home-keyword-filter-presets{margin:0}
.home-keyword-filter-preset:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:600}
.home-keyword-filter-help{color:var(--text-subtle);font-size:var(--font-size-xs);line-height:1.5}
.home-keyword-filter-status{min-height:18px;color:var(--text-subtle);font-size:var(--font-size-xs);line-height:1.5}
.home-keyword-filter-actions button{margin:0}
@media(max-width:720px){
.home-keyword-filter-button{margin-left:auto}
.modal-backdrop:has(.home-keyword-filter-settings){box-sizing:border-box;align-items:stretch;height:100dvh;padding:8px}
.modal-panel:has(.home-keyword-filter-settings){display:flex;flex-direction:column;max-height:100%;overflow:hidden}
.modal-panel:has(.home-keyword-filter-settings) .modal-head{flex:0 0 auto}
.modal-panel:has(.home-keyword-filter-settings) .modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:12px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.home-keyword-filter-settings{gap:12px}
.home-keyword-filter-settings textarea{box-sizing:border-box;height:82px;min-height:82px;resize:vertical}
.home-keyword-filter-actions{position:sticky;bottom:-12px;z-index:1;margin:0 -12px -12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);background:var(--panel)}
.home-keyword-filter-actions button{flex:1}
}
/* image_lightbox */
.post-content img{width:auto!important;height:auto!important;max-width:100%!important;max-height:min(75vh,720px);object-fit:contain;object-position:left top}.image-lightbox-clickable{cursor:zoom-in}.image-lightbox-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:var(--backdrop);cursor:zoom-out}.image-lightbox-overlay[hidden]{display:none}.image-lightbox-dialog{position:relative;display:grid;max-width:100%;max-height:100%;place-items:center}.image-lightbox-image{display:block;max-width:min(96vw,1400px);max-height:92vh;border-radius:8px;background:var(--panel);box-shadow:0 12px 36px var(--shadow-medium);object-fit:contain}.image-lightbox-close,.image-lightbox-nav{position:absolute;z-index:1;display:grid;padding:0;place-items:center;border:1px solid var(--inverse-border);border-radius:50%;background:var(--inverse);color:var(--inverse-text);line-height:1;cursor:pointer}.image-lightbox-close{top:8px;right:8px;width:34px;min-width:34px;height:34px;min-height:34px;font-size:var(--font-size-xl)}.image-lightbox-nav{top:50%;width:44px;min-width:44px;height:44px;min-height:44px;font-size:32px;transform:translateY(-50%)}.image-lightbox-nav[hidden]{display:none}.image-lightbox-prev{left:12px}.image-lightbox-next{right:12px}.image-lightbox-caption{max-width:min(90vw,900px);margin-top:10px;padding:6px 10px;border-radius:6px;background:var(--inverse);color:var(--inverse-text);font-size:var(--font-size-sm);text-align:center;overflow-wrap:anywhere}@media(max-width:720px){.image-lightbox-overlay{padding:10px}.image-lightbox-image{max-width:96vw;max-height:88vh}.image-lightbox-prev{left:6px}.image-lightbox-next{right:6px}}
/* invite_center */
.invite-center-page{display:grid;gap:16px}.invite-center-link,.invite-center-list{padding:16px;border:1px solid var(--line-soft);border-radius:10px;background:var(--panel)}.invite-center-link-row{display:flex;gap:8px}.invite-center-link-row input{min-width:0;flex:1}.invite-center-rule{margin:12px 0 0;color:var(--warning);font-size:13px;line-height:1.6}.invite-center-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.invite-center-stats>div{display:grid;gap:4px;padding:14px;border:1px solid var(--line-soft);border-radius:10px;background:var(--bg);text-align:center}.invite-center-stats strong{color:var(--text);font-size:22px;line-height:1.1}.invite-center-stats span{color:var(--text-subtle);font-size:12px}.invite-center-list ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;margin:12px 0 0;padding:0}.invite-center-user{min-width:0;padding:12px;border:1px solid var(--line-soft);border-radius:8px}.invite-center-user .admin-user-text{min-width:0}.invite-center-user .admin-user-text span{display:block;overflow-wrap:anywhere;color:var(--text-subtle);font-size:12px}.invite-center-state{display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:11px;font-style:normal}.invite-center-state.is-normal{background:var(--success-soft);color:var(--success)}.invite-center-landing-shell .forum-main{width:100%}.invite-center-landing{display:grid;justify-items:center;gap:0;padding:18px 8px 6px;text-align:center}.invite-center-landing-mark{display:grid;place-items:center;width:52px;height:52px;margin-bottom:20px;border-radius:15px;background:var(--brand);color:var(--inverse-text);font-size:25px;font-weight:800;box-shadow:var(--shadow-base)}.invite-center-landing-eyebrow{margin:0 0 8px;color:var(--brand);font-size:12px;font-weight:700;letter-spacing:.12em}.invite-center-landing h1{margin:0;color:var(--text);font-size:28px;line-height:1.3}.invite-center-landing-copy{display:grid;gap:10px;max-width:620px;margin:22px 0 26px;color:var(--text-muted);font-size:15px;line-height:1.85}.invite-center-landing-copy p{margin:0}.invite-center-landing-greeting{color:var(--brand);font-size:16px;font-weight:700}.invite-center-landing-description{color:var(--text);font-weight:500}.invite-center-landing-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.invite-center-landing-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--brand);border-radius:10px;font-size:15px;font-weight:700;text-decoration:none}.invite-center-landing-primary{background:var(--brand);color:var(--inverse-text)}.invite-center-landing-primary:hover{border-color:var(--brand-hover);background:var(--brand-hover);color:var(--inverse-text)}.invite-center-landing-secondary{background:var(--panel);color:var(--brand)}.invite-center-landing-secondary:hover{background:var(--brand-soft);color:var(--brand-hover)}.invite-center-landing-close{margin-top:18px;padding:6px;border:0;background:transparent;color:var(--text-subtle);font-size:13px;text-decoration:underline;text-underline-offset:3px}.invite-center-landing-close:hover{color:var(--text)}@media(max-width:720px){.invite-center-link-row{flex-direction:column}.invite-center-stats,.invite-center-list ul{grid-template-columns:1fr}.invite-center-landing{padding-top:8px}.invite-center-landing h1{font-size:24px}.invite-center-landing-actions{grid-template-columns:1fr}}
/* leaderboard */
.leaderboard-header{padding:20px 20px 14px}
.leaderboard-title{margin:0;font-size:var(--font-size-xl);font-weight:700;color:var(--text);line-height:1.3}
.leaderboard-subtitle{margin:4px 0 0;font-size:var(--font-size-sm);color:var(--text-subtle)}
.leaderboard-tabs{display:inline-flex;align-items:center;gap:4px;padding:4px;margin:0 20px 16px;background:var(--bg);border:1px solid var(--line-soft);border-radius:10px}
.leaderboard-tab{padding:7px 16px;border-radius:7px;font-size:var(--font-size-sm);font-weight:600;color:var(--text-muted);text-decoration:none;transition:all .2s ease;white-space:nowrap}
.leaderboard-tab:hover{color:var(--brand)}
.leaderboard-tab.active{background:var(--brand);color:var(--inverse-text);box-shadow:var(--shadow-base)}
.leaderboard-podium{display:flex;justify-content:center;align-items:flex-end;gap:12px;padding:0 20px 20px}
.leaderboard-podium-col{display:flex;flex-direction:column;align-items:center;flex:0 1 200px;min-width:0;text-decoration:none}
.leaderboard-podium-col-1{flex-basis:220px}
.leaderboard-podium-col-2{flex-basis:190px}
.leaderboard-podium-col-3{flex-basis:170px}
.leaderboard-podium-profile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px 12px;border-radius:16px 16px 0 0;width:100%;text-decoration:none;transition:all .2s ease;position:relative}
.leaderboard-podium-col-1 .leaderboard-podium-profile{background:linear-gradient(180deg,#fffbeb,#fef3c7);padding-top:24px}
.leaderboard-podium-col-2 .leaderboard-podium-profile{background:linear-gradient(180deg,#f8fafc,#f1f5f9);padding-top:16px}
.leaderboard-podium-col-3 .leaderboard-podium-profile{background:linear-gradient(180deg,#fff7ed,#fed7aa);padding-top:12px}
.leaderboard-podium-profile:hover{filter:brightness(.97)}
.leaderboard-podium-avatar{flex:0 0 56px;width:56px;height:56px;border-radius:50%;overflow:hidden;border:3px solid var(--line);display:block}
.leaderboard-podium-col-1 .leaderboard-podium-avatar{border-color:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.2);flex:0 0 64px;width:64px;height:64px}
.leaderboard-podium-col-2 .leaderboard-podium-avatar{border-color:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.2);flex:0 0 52px;width:52px;height:52px}
.leaderboard-podium-col-3 .leaderboard-podium-avatar{border-color:#d97706;box-shadow:0 0 0 4px rgba(217,119,6,.15);flex:0 0 48px;width:48px;height:48px}
.leaderboard-podium-avatar .avatar-img{width:100%;height:100%}
.leaderboard-podium-name{font-size:var(--font-size-sm);font-weight:700;color:var(--text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;text-align:center}
.leaderboard-podium-col-1 .leaderboard-podium-name{font-size:var(--font-size-lg);color:#92400e}
.leaderboard-podium-col-2 .leaderboard-podium-name{color:#334155}
.leaderboard-podium-col-3 .leaderboard-podium-name{color:#78350f}
.leaderboard-podium-group{color:var(--text-subtle);font-size:10px;line-height:1.2;display:block;text-align:center}
.leaderboard-podium-count{font-size:var(--font-size-sm);font-weight:700;white-space:nowrap;line-height:1;padding:5px 14px;border-radius:999px;display:inline-block}
.leaderboard-podium-col-1 .leaderboard-podium-count{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;box-shadow:0 2px 8px rgba(245,158,11,.35);font-size:var(--font-size-md)}
.leaderboard-podium-col-2 .leaderboard-podium-count{background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff;box-shadow:0 2px 8px rgba(100,116,139,.25)}
.leaderboard-podium-col-3 .leaderboard-podium-count{background:linear-gradient(135deg,#d97706,#b45309);color:#fff;box-shadow:0 2px 8px rgba(180,83,9,.25)}
.leaderboard-podium-step{display:flex;align-items:center;justify-content:center;width:100%;font-size:var(--font-size-sm);font-weight:800;color:rgba(255,255,255,.8)}
.leaderboard-podium-col-1 .leaderboard-podium-step{height:60px;background:linear-gradient(135deg,#f59e0b,#ef4444);font-size:var(--font-size-lg)}
.leaderboard-podium-col-2 .leaderboard-podium-step{height:44px;background:linear-gradient(135deg,#94a3b8,#64748b)}
.leaderboard-podium-col-3 .leaderboard-podium-step{height:32px;background:linear-gradient(135deg,#d97706,#b45309)}
.leaderboard-list{display:grid;gap:6px;padding:0 20px 20px}
.leaderboard-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid transparent;border-radius:10px;background:var(--bg);text-decoration:none;transition:all .2s ease}
.leaderboard-item:hover{background:var(--panel);border-color:var(--brand-soft);box-shadow:var(--shadow-medium)}
.leaderboard-rank-badge{flex:0 0 30px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:var(--font-size-sm);font-weight:700;line-height:1;transition:all .2s ease}
.leaderboard-rank-1{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;box-shadow:0 2px 8px rgba(245,158,11,.35)}
.leaderboard-rank-2{background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff;box-shadow:0 2px 8px rgba(100,116,139,.25)}
.leaderboard-rank-3{background:linear-gradient(135deg,#d97706,#b45309);color:#fff;box-shadow:0 2px 8px rgba(180,83,9,.25)}
.leaderboard-rank-other{background:var(--bg);color:var(--text-muted);font-size:var(--font-size-xs)}
.leaderboard-avatar{flex:0 0 36px;width:36px;height:36px;border-radius:50%;overflow:hidden}
.leaderboard-avatar .avatar-img{width:36px;height:36px}
.leaderboard-body{min-width:0;flex:1;display:grid;gap:2px}
.leaderboard-name{font-size:var(--font-size-md);font-weight:600;color:var(--text);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.leaderboard-item:hover .leaderboard-name{color:var(--brand)}
.leaderboard-group{color:var(--text-subtle);font-size:10px;line-height:1.3}
.leaderboard-count{flex:0 0 auto;padding:6px 12px;border-radius:8px;font-size:var(--font-size-sm);font-weight:700;white-space:nowrap;line-height:1;min-height:32px;background:var(--brand-soft);color:var(--brand)}
.leaderboard-empty{padding:40px 20px;text-align:center;color:var(--text-subtle);font-size:var(--font-size-sm)}
.leaderboard-card .leaderboard-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.leaderboard-card .leaderboard-card-more{color:var(--text-subtle);font-size:var(--font-size-xs);white-space:nowrap;text-decoration:none}
.leaderboard-card .leaderboard-card-more:hover{color:var(--brand)}
.leaderboard-card .leaderboard-card-list .leaderboard-item{padding:6px 0;border:0;border-radius:0;background:transparent;gap:8px;min-height:44px}
.leaderboard-card .leaderboard-card-list .leaderboard-item:before{display:none}
.leaderboard-card .leaderboard-card-list .leaderboard-item:hover{background:transparent}
.leaderboard-card .leaderboard-card-list .leaderboard-rank-badge{flex:0 0 18px;width:18px;height:18px;border-radius:5px;font-size:11px}
.leaderboard-card .leaderboard-card-list .leaderboard-rank-1,.leaderboard-card .leaderboard-card-list .leaderboard-rank-2,.leaderboard-card .leaderboard-card-list .leaderboard-rank-3{background:var(--brand-soft);color:var(--brand);box-shadow:none}
.leaderboard-card .leaderboard-card-list .leaderboard-avatar{flex:0 0 28px;width:28px;height:28px}
.leaderboard-card .leaderboard-card-list .leaderboard-avatar .avatar-img{width:28px;height:28px}
.leaderboard-card .leaderboard-card-list .leaderboard-name{font-size:var(--font-size-sm)}
.leaderboard-card .leaderboard-card-list .leaderboard-count{padding:3px 8px;font-size:11px;min-height:auto;border-radius:5px}
.leaderboard-card .leaderboard-card-list .leaderboard-group{display:none}
@media(max-width:600px){
.leaderboard-header{padding:14px 14px 12px}
.leaderboard-title{font-size:var(--font-size-lg)}
.leaderboard-tabs{padding:4px;margin:0 14px 12px}
.leaderboard-tab{padding:6px 12px;font-size:12px}
.leaderboard-podium{gap:8px;padding:0 10px 14px}
.leaderboard-podium-col{flex-basis:1px;flex:1}
.leaderboard-podium-col-1 .leaderboard-podium-profile{padding-top:16px}
.leaderboard-podium-col-2 .leaderboard-podium-profile{padding-top:10px}
.leaderboard-podium-col-3 .leaderboard-podium-profile{padding-top:8px}
.leaderboard-podium-avatar{flex:0 0 40px;width:40px;height:40px;border-width:2px}
.leaderboard-podium-col-1 .leaderboard-podium-avatar{flex:0 0 48px;width:48px;height:48px;border-width:3px}
.leaderboard-podium-col-2 .leaderboard-podium-avatar{flex:0 0 38px;width:38px;height:38px}
.leaderboard-podium-col-3 .leaderboard-podium-avatar{flex:0 0 34px;width:34px;height:34px}
.leaderboard-podium-name{font-size:12px}
.leaderboard-podium-col-1 .leaderboard-podium-name{font-size:var(--font-size-sm)}
.leaderboard-podium-count{font-size:11px;padding:3px 10px}
.leaderboard-podium-col-1 .leaderboard-podium-count{font-size:12px}
.leaderboard-podium-col-1 .leaderboard-podium-step{height:44px;font-size:var(--font-size-md)}
.leaderboard-podium-col-2 .leaderboard-podium-step{height:34px}
.leaderboard-podium-col-3 .leaderboard-podium-step{height:26px}
.leaderboard-list{gap:5px;padding:0 10px 16px}
.leaderboard-item{padding:10px 12px;gap:10px}
.leaderboard-rank-badge{flex:0 0 26px;width:26px;height:26px;font-size:12px}
.leaderboard-name{font-size:var(--font-size-sm)}
.leaderboard-count{padding:5px 10px;font-size:12px;min-height:28px}
}
/* long_content_fold */
.topic-post-list .long-content-fold-content.long-content-fold-is-collapsed{position:relative;max-height:var(--long-content-fold-height);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 64px),transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 64px),transparent 100%)}
.topic-post-list .long-content-fold-actions{display:flex;width:100%;align-items:center;justify-content:center;margin:4px 0 0}
.topic-post-list .long-content-fold-actions:has(.long-content-fold-toggle[hidden]){display:none}
.topic-post-list .long-content-fold-toggle{display:inline-flex;width:max-content;max-width:100%;align-items:center;justify-content:center;gap:7px;min-height:32px;margin:0;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text-muted);font:inherit;font-size:var(--font-size-sm);line-height:1.2;cursor:pointer;transition:border-color var(--transition-normal),background var(--transition-normal),color var(--transition-normal)}
.topic-post-list .long-content-fold-toggle:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.topic-post-list .long-content-fold-toggle:focus-visible{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}
.topic-post-list .long-content-fold-toggle[hidden]{display:none}
.topic-post-list .long-content-fold-icon{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--transition-normal)}
.topic-post-list .long-content-fold-toggle[aria-expanded="true"] .long-content-fold-icon{transform:translateY(2px) rotate(225deg)}
@media(max-width:720px){.topic-post-list .long-content-fold-toggle{min-height:36px;padding-inline:14px}}
/* management_ledger */
.forum-layout:has(.management-ledger-page){display:block}.forum-layout:has(.management-ledger-page)>.sidebar{display:none}.management-ledger-filter{display:grid;grid-template-columns:180px minmax(220px,1fr) 160px 160px auto auto;align-items:end;gap:10px;margin:14px 0}.management-ledger-filter .grid{margin:0}.management-ledger-filter>a{align-self:center}.management-ledger-list{display:grid;gap:10px}.management-ledger-row{padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.management-ledger-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.management-ledger-head time{color:var(--text-muted);font-size:12px}.management-ledger-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:7px;color:var(--text-muted);font-size:13px}.management-ledger-summary,.management-ledger-reason{margin-top:9px;padding:9px 11px;border-radius:7px;background:var(--bg);line-height:1.65;overflow-wrap:anywhere}.management-ledger-reason{color:var(--text-muted)}@media(max-width:900px){.management-ledger-filter{grid-template-columns:1fr 1fr}.management-ledger-filter button{width:100%}}@media(max-width:560px){.management-ledger-filter{grid-template-columns:1fr}.management-ledger-head{align-items:flex-start;flex-direction:column;gap:4px}}
/* nb_editor */
.nb-editor-admin-settings{max-width:none;gap:16px}
.nb-editor-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nb-editor-admin-section{display:grid;align-content:start;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}
.nb-editor-admin-section-head{display:grid;gap:3px;padding-bottom:2px}
.nb-editor-admin-section-head strong{color:var(--text);font-size:var(--font-size-md);line-height:1.4}
.nb-editor-admin-section-head span{color:var(--text-subtle);font-size:var(--font-size-sm);line-height:1.45}
.nb-editor-admin-settings .nb-editor-admin-section>.grid{grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:0;padding:9px 0;border-top:1px solid var(--line-soft)}
.nb-editor-admin-settings .nb-editor-admin-section-head+.grid{border-top:0}
.nb-editor-admin-settings .nb-editor-admin-section>.grid>span{padding-top:0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.45}
.nb-editor-admin-settings .nb-editor-admin-section>.grid>span small{margin-top:2px;color:var(--text-subtle);line-height:1.4}
.nb-editor-admin-settings .nb-editor-admin-section>.grid input[type=number]{width:100%;max-width:130px}
.nb-editor-admin-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:2px}
.nb-editor-admin-actions button{margin:0}
.nb-editor-admin-actions span{color:var(--text-subtle);font-size:var(--font-size-sm);line-height:1.45}
@media(max-width:720px){
.nb-editor-admin-grid{grid-template-columns:1fr}
.nb-editor-admin-section{padding:12px}
.nb-editor-admin-actions{align-items:stretch;flex-direction:column}
.nb-editor-admin-actions button{width:100%}
}
.nb-editor-field{position:relative;display:grid;row-gap:0;margin:8px 0}
.reply-panel .nb-editor-field{margin:0}
.nb-editor-field>.grid{display:contents}
.nb-editor-field>.grid>span{order:1;margin-bottom:6px;padding-top:0}
.nb-editor-field>.nb-editor{order:2}
/* 正文框固定白底，和主题色工具栏拉开层次；高度仍交给核心按场景决定。 */
.nb-editor-field>.grid>textarea[name=body]{order:3;border-top:0;border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--panel);resize:vertical}
/* 分栏预览：左边写 Markdown，右边常驻渲染结果，随输入更新。 */
.nb-editor-field.nb-editor-live{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.nb-editor-field.nb-editor-live>.grid>span,.nb-editor-field.nb-editor-live>.nb-editor{grid-column:1/-1}
.nb-editor-field.nb-editor-live>.grid>textarea[name=body]{grid-column:1;border-bottom-right-radius:0}
.nb-editor-field.nb-editor-live>.nb-editor-preview{grid-column:2;max-height:60vh;overflow:auto;border-left:0;border-bottom-left-radius:0}
.nb-editor{min-width:0}
/* 工具栏跟随站点主题色，不写死中性灰。 */
.nb-editor-bar{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:4px 6px;border:1px solid var(--line);border-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--brand-soft)}
.nb-editor-field:focus-within>.nb-editor>.nb-editor-bar{border-color:var(--brand)}
/* 选择器带上根容器，避免被 .reply-panel button 之类的核心规则按特异性压过。 */
.nb-editor .nb-editor-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;min-width:30px;min-height:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--brand-hover);cursor:pointer}
.nb-editor .nb-editor-btn svg{width:16px;height:16px}
.nb-editor .nb-editor-btn:hover{border-color:var(--line);background:var(--panel);color:var(--brand-hover)}
.nb-editor .nb-editor-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}
.nb-editor .nb-editor-btn.nb-editor-btn-active{border-color:var(--brand);background:var(--panel);color:var(--brand-hover)}
.nb-editor-split{width:1px;height:16px;margin:0 4px;background:var(--line)}
.nb-editor-space{flex:1 1 auto;min-width:0}
/* 面板用 fixed 浮层：既不挤占正文框空间，也不会被祖先的 overflow:hidden 裁掉。位置由 JS 计算，优先向上弹。 */
.nb-editor-panel{position:fixed;z-index:60;display:flex;flex-direction:column;width:min(360px,100%);max-height:min(60vh,340px);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 12px 32px var(--shadow-medium);overflow:hidden}
.nb-editor-panel[hidden]{display:none}
.nb-editor-panel-title{flex:0 0 auto;padding:8px 12px 0;color:var(--text-subtle);font-size:var(--font-size-xs);line-height:1.4}
.nb-editor-items{flex:1 1 auto;min-height:0;display:flex;align-items:flex-start;align-content:flex-start;flex-wrap:wrap;gap:3px;margin:0;padding:8px 10px;overflow-y:auto;list-style:none}
.nb-editor-items[hidden]{display:none}
.nb-editor-items li{padding:4px 7px;border-radius:var(--radius-sm);color:var(--text);font-size:var(--font-size-sm);line-height:1.4;cursor:pointer;user-select:none}
.nb-editor-items li:hover{background:var(--bg)}
.nb-editor-items-emoji li{padding:2px 5px;font-size:var(--font-size-xl)}
.nb-editor-tabs{flex:0 0 auto;display:flex;align-items:stretch;flex-wrap:wrap;border-top:1px solid var(--line);background:var(--brand-soft)}
.nb-editor .nb-editor-tab{min-width:0;min-height:34px;padding:0 12px;border:0;border-radius:0;background:transparent;color:var(--text-muted);font-size:var(--font-size-sm);font-weight:400;cursor:pointer}
.nb-editor .nb-editor-tab:hover{background:var(--panel);color:var(--text)}
.nb-editor .nb-editor-tab.nb-editor-tab-active{background:var(--panel);color:var(--brand-hover);font-weight:500}
/* 预览框借用核心 .post-content 的排版，但要去掉它的 margin-top，否则与正文框差 2px。 */
.nb-editor-preview{order:4;margin-top:0;min-height:120px;padding:12px 14px;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--panel)}
.nb-editor-preview[hidden]{display:none}
.nb-editor-preview-empty{color:var(--text-subtle);font-size:var(--font-size-sm)}
.nb-editor-draft{order:2;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:7px 10px;border:1px solid var(--line);border-top:0;background:var(--info-soft);color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.5}
.nb-editor-draft[hidden]{display:none}
.nb-editor-draft-text{flex:1 1 auto;min-width:0}
.nb-editor-status{order:2;padding:6px 10px;border:1px solid var(--line);border-top:0;background:var(--brand-soft);color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.5;overflow-wrap:anywhere}
.nb-editor-status[hidden]{display:none}
.nb-editor-draft .nb-editor-draft-action{min-width:0;min-height:26px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-size:var(--font-size-sm);font-weight:500;cursor:pointer}
.nb-editor-draft .nb-editor-draft-action:hover{border-color:var(--brand);color:var(--brand-hover)}
/* 与核心 .post-content ul 的缩进保持一致，否则有序列表会多缩进一截。 */
.nb-editor-ol{margin:4px 0 8px 18px;padding:0}
.nb-editor-field.nb-editor-full{position:fixed;inset:0;z-index:60;align-content:start;margin:0;padding:14px;background:var(--panel);overflow:auto}
.nb-editor-field.nb-editor-full>.grid>textarea[name=body]{min-height:calc(100vh - 120px)}
.nb-editor-field.nb-editor-full>.nb-editor-preview{min-height:calc(100vh - 120px)}
.nb-editor-field.nb-editor-full.nb-editor-live>.nb-editor-preview{max-height:none}
.nb-editor-dialog-field{display:grid;gap:5px;color:var(--text-muted);font-size:var(--font-size-sm)}
.nb-editor-dialog-field .prompt-input{box-sizing:border-box}
.nb-editor-upload{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:-4px 0 0}
.nb-editor-upload .nb-editor-upload-pick{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-size:var(--font-size-sm);font-weight:500;white-space:normal;cursor:pointer}
.nb-editor-upload .nb-editor-upload-pick:hover{border-color:var(--brand);color:var(--brand-hover)}
.nb-editor-upload .nb-editor-upload-pick.is-busy{opacity:.6;pointer-events:none}
.nb-editor-upload-status{flex:1 1 auto;min-width:0;color:var(--text-muted);font-size:var(--font-size-sm);overflow-wrap:anywhere}
/* 窄屏放不下两栏，预览改到正文框下方，仍然实时更新。 */
@media(max-width:820px){
.nb-editor-field.nb-editor-live{grid-template-columns:minmax(0,1fr)}
.nb-editor-field.nb-editor-live>.grid>textarea[name=body]{grid-column:1;border-radius:0}
.nb-editor-field.nb-editor-live>.nb-editor-preview{grid-column:1;max-height:50vh;border-left:1px solid var(--line);border-radius:0 0 var(--radius-sm) var(--radius-sm)}
}
@media(max-width:480px){
.nb-editor-bar{gap:1px;padding:4px}
.nb-editor .nb-editor-btn{width:28px;min-width:28px}
.nb-editor-split{margin:0 2px}
}
/* oauth_login */
.oauth-login-password-panel{display:none}.oauth-login-options{display:grid;width:min(100%,450px);gap:10px;margin:18px 0 0;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.oauth-login-options-title{color:var(--text-subtle);font-size:var(--font-size-sm)}.oauth-login-options-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.oauth-login-option{display:flex;min-width:0;min-height:38px;padding:7px 8px;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);font-size:var(--font-size-sm);font-weight:600}.oauth-login-option:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.oauth-login-option-mark{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border:1px solid var(--line-soft);border-radius:5px;background:var(--panel);color:var(--text-muted);font-size:10px;font-weight:700;line-height:1}.oauth-login-option:hover .oauth-login-option-mark{border-color:var(--brand);color:var(--brand)}.oauth-login-option small{display:none}.oauth-login-profile-card{display:grid;gap:12px;margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.oauth-login-profile-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.oauth-login-apply-link{display:inline-block;width:max-content;max-width:100%;color:var(--brand);font-size:var(--font-size-sm)}.oauth-login-callbacks{display:grid;gap:8px}.oauth-login-callbacks code{display:block;overflow-wrap:anywhere;padding:8px 10px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-muted);font-size:var(--font-size-sm)}@media(max-width:360px){.oauth-login-options-list{grid-template-columns:1fr}}
/* online_users */
.online-users-boot{display:none}.online-users-host{position:relative;overflow:visible}.online-users-dot{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border:2px solid var(--panel);border-radius:50%;background:var(--success);pointer-events:none}.user-avatar-big.online-users-host .online-users-dot{width:12px;height:12px}.online-users-wrap{padding:10px 14px 12px}.online-users-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.online-users-title{color:var(--text);font-size:var(--font-size-sm);font-weight:600}.online-users-count{flex:0 0 auto;padding:1px 8px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:var(--font-size-xs);font-weight:600;line-height:1.6;white-space:nowrap}.online-users-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 6px}.online-users-item{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.online-users-item:hover .online-users-name{color:var(--brand)}.online-users-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--bg)}.online-users-name{max-width:44px;overflow:hidden;color:var(--text-muted);font-size:var(--font-size-xs);text-align:center;text-overflow:ellipsis;white-space:nowrap}.online-users-more{margin-top:8px;color:var(--text-subtle);font-size:var(--font-size-xs)}.online-users-empty{color:var(--text-subtle);font-size:var(--font-size-xs)}
/* paste_image_upload */
.paste-image-upload-hint{display:inline-flex;color:var(--text-subtle);font-size:11px}.paste-image-upload-toast{position:fixed;left:50%;bottom:24px;z-index:1100;transform:translateX(-50%);padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--inverse);color:var(--inverse-text);font-size:var(--font-size-sm);box-shadow:0 6px 22px var(--shadow-medium)}.paste-image-upload-toast[hidden]{display:none}@media(max-width:600px){.paste-image-upload-hint{display:block}}
/* performance */
.performance-panel .performance-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.performance-panel .performance-status-card{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--line-soft);border-radius:7px;background:var(--bg)}
.performance-panel .performance-status-card span{color:var(--text-subtle);font-size:11px}
.performance-panel .performance-status-card strong{overflow-wrap:anywhere;font-size:15px}
.performance-panel .performance-status-card strong.is-ok{color:var(--success)}
.performance-panel .performance-status-card strong.is-off{color:var(--text-muted)}
@media(min-width:721px){@supports(content-visibility:auto){.performance-render-root .topic-post-list>.post-entry:nth-child(n+4){content-visibility:auto;contain-intrinsic-size:auto 280px}}}
/* points_rewards */
.points-rewards-settings{max-width:none;gap:18px}.points-rewards-settings-section{display:grid;gap:10px}.points-rewards-settings-section-head{display:grid;gap:3px}.points-rewards-settings-section-head strong{color:var(--text);font-size:var(--font-size-md)}.points-rewards-settings-section-head span{color:var(--text-subtle);font-size:var(--font-size-sm);line-height:1.4}.points-rewards-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:stretch;gap:12px}.points-rewards-setting-card{display:flex;flex-direction:column;justify-content:flex-start;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.points-rewards-setting-card-wide{grid-column:span 2}.points-rewards-setting-card-title{color:var(--text);font-size:var(--font-size-sm);font-weight:700}.points-rewards-setting-card .grid{display:grid;align-content:start;gap:5px;min-width:0;margin:0}.points-rewards-setting-card input:not([type=checkbox]),.points-rewards-setting-card textarea{width:100%;max-width:none}.points-rewards-notifications{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.points-rewards-notification-options{display:flex;flex-wrap:wrap;gap:8px 16px}.points-rewards-notification-option{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-size:var(--font-size-sm);cursor:pointer}.points-rewards-notification-option input{flex:0 0 38px;width:38px;height:22px;margin:0}.points-rewards-actions{display:flex;gap:8px}.points-rewards-actions button{margin:0}.points-rewards-detail{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:11px 4px}.points-rewards-detail-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;background:var(--success-soft);color:var(--success)}.points-rewards-detail.negative .points-rewards-detail-icon{background:var(--danger-soft);color:var(--danger)}.points-rewards-detail-icon .meta-icon{width:20px;height:20px}.points-rewards-detail-main{display:grid;gap:4px;min-width:0}.points-rewards-reason{min-width:0;overflow:hidden;color:var(--text);font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap}.points-rewards-topic{min-width:0;overflow:hidden;color:var(--text-muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.points-rewards-topic:hover{color:var(--brand)}.points-rewards-detail-side{display:grid;justify-items:end;gap:5px;padding-left:4px}.points-rewards-change-value{display:inline-flex;box-sizing:border-box;align-items:baseline;justify-content:center;gap:4px;width:96px;min-height:29px;padding:0 8px;border:1px solid transparent;border-radius:999px;font-variant-numeric:tabular-nums;white-space:nowrap}.points-rewards-change-value b{font-size:var(--font-size-md);font-weight:700}.points-rewards-change-value small{font-size:var(--font-size-xs);font-weight:600}.points-rewards-change-value.positive{border-color:var(--success);background:var(--success-soft);color:var(--success)}.points-rewards-change-value.negative{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.points-rewards-time{color:var(--text-subtle);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.points-rewards-rule-value.positive{color:var(--success)}.points-rewards-rule-value.negative{color:var(--danger)}.points-rewards-rule-value.disabled{color:var(--text-subtle)}.points-rewards-profile-rules{margin-top:12px}.points-rewards-rules{overflow:hidden}.points-rewards-rules-head{padding:20px 22px 14px;border-bottom:1px solid var(--line)}.points-rewards-rules-head h2{margin:0;font-size:var(--font-size-xl)}.points-rewards-rules-head p{margin:7px 0 0;color:var(--text-subtle);font-size:var(--font-size-sm)}.points-rewards-rules-body{padding:18px 22px 22px}.points-rewards-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.points-rewards-rule-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.points-rewards-rule-card>span{color:var(--text-muted);font-size:var(--font-size-sm)}.points-rewards-rule-value{font-weight:600;white-space:nowrap}.points-rewards-rule-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 0}.points-rewards-rule-notes>div{padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.points-rewards-rule-notes dt{color:var(--text-subtle);font-size:var(--font-size-sm)}.points-rewards-rule-notes dd{margin:5px 0 0;font-weight:600}.points-rewards-rule-hint{margin:16px 0 0;color:var(--text-subtle);font-size:var(--font-size-sm);line-height:1.7}.points-rewards-extra-note{margin-top:12px;padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.65;overflow-wrap:anywhere}@media(max-width:720px){.points-rewards-settings-grid{grid-template-columns:1fr}.points-rewards-setting-card-wide{grid-column:auto}.points-rewards-detail{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px;min-height:0;padding:11px 2px}.points-rewards-detail-side{grid-column:2;display:flex;align-items:center;justify-content:space-between;width:100%;padding:3px 0 0}.points-rewards-rules-head{padding:16px 14px 12px}.points-rewards-rules-body{padding:14px}.points-rewards-rule-grid{grid-template-columns:1fr;gap:8px}.points-rewards-rule-notes{grid-template-columns:1fr;gap:8px}}.points-rewards-detail{grid-template-columns:36px minmax(0,1fr) 96px;align-items:center;gap:12px;min-height:58px;padding:11px 2px}.points-rewards-detail-main{gap:5px}.points-rewards-detail-meta{display:flex;align-items:center;gap:7px;min-width:0}.points-rewards-topic{flex:0 1 auto;max-width:100%;font-size:var(--font-size-xs)}.points-rewards-detail-meta .points-rewards-time{flex:0 0 auto;font-size:var(--font-size-xs)}.points-rewards-detail-side{grid-column:auto;display:flex;align-items:center;justify-content:flex-end;width:auto;padding:0}.points-rewards-change-value{align-items:center;width:96px;min-height:28px}@media(max-width:720px){.points-rewards-detail{grid-template-columns:36px minmax(0,1fr) 96px;align-items:center;gap:9px;min-height:58px;padding:11px 2px}.points-rewards-detail-side{grid-column:auto;width:auto;padding:0}.points-rewards-detail-meta{gap:6px}.points-rewards-topic{max-width:calc(100% - 110px)}}@media(max-width:720px){.points-rewards-detail-meta{display:grid;gap:3px}.points-rewards-topic{max-width:100%}.points-rewards-detail-meta .points-rewards-time{display:block}}
/* posting_notice */
.posting-notice-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.72);backdrop-filter:blur(3px)}
.posting-notice-dialog{width:min(760px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.32)}
.posting-notice-header{flex:0 0 auto;padding:22px 24px 16px;border-bottom:1px solid var(--line-soft)}
.posting-notice-title{display:flex;align-items:center;gap:10px;margin:0;color:var(--text);font-size:22px;line-height:1.35}
.posting-notice-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fff1d6;color:#b45309;font-size:18px;font-weight:800}
.posting-notice-intro{margin:8px 0 0;color:var(--text-subtle);font-size:14px}
.posting-notice-body{min-height:0;overflow-x:hidden;overflow-y:auto;padding:18px 24px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.posting-notice-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;counter-reset:posting-rule}
.posting-notice-rule{counter-increment:posting-rule;display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:12px;background:var(--bg);border:1px solid var(--line-soft);border-radius:10px}
.posting-notice-rule::before{content:counter(posting-rule);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--panel);color:#b45309;font-weight:700}
.posting-notice-rule strong{display:block;margin-bottom:3px;color:var(--text);font-size:14px}
.posting-notice-rule span{color:var(--text-subtle);font-size:13px;line-height:1.55}
.posting-notice-consequence{margin:14px 0 0;padding:13px 14px;border-left:3px solid #dc2626;border-radius:8px;background:rgba(220,38,38,.07);color:var(--text-subtle);font-size:13px;line-height:1.65}
.posting-notice-consequence strong{color:#dc2626}
.posting-notice-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-top:1px solid var(--line-soft);background:var(--bg)}
.posting-notice-hint{color:var(--text-subtle);font-size:13px}
.posting-notice-confirm{flex:0 0 auto;min-width:150px;touch-action:manipulation}
.posting-notice-inline{display:inline-block;margin-left:12px;padding:5px 9px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-subtle);font-size:var(--font-size-xs);font-weight:400;line-height:1.5;vertical-align:middle}
body.posting-notice-open{overflow:hidden}
@media(max-width:680px){.posting-notice-backdrop{align-items:stretch;padding:0}.posting-notice-dialog{width:100%;max-height:none;border:0;border-radius:0}.posting-notice-header{padding:calc(16px + env(safe-area-inset-top)) 16px 13px}.posting-notice-title{font-size:19px}.posting-notice-intro{font-size:13px}.posting-notice-body{padding:12px 14px}.posting-notice-rules{grid-template-columns:1fr;gap:8px}.posting-notice-rule{padding:10px}.posting-notice-consequence{margin-top:10px}.posting-notice-footer{align-items:stretch;flex-direction:column;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.posting-notice-hint{text-align:center}.posting-notice-confirm{width:100%;min-height:48px;font-size:16px}.posting-notice-inline{display:block;margin:8px 0 0}}
/* quick_reply */
.quick-reply-main-action{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.quick-reply-main-action[hidden]{display:none}
.quick-reply-home .quick-reply-main-action{width:100%}
.quick-reply-main-action> :not(input):not(button){flex:1 0 100%;order:-1}
.quick-reply-main-action input{box-sizing:border-box;min-width:0;flex:1;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--text-muted);font-size:var(--font-size-sm);cursor:text}
.quick-reply-main-action input:focus,.quick-reply-home input:focus{border-color:var(--brand);outline:2px solid var(--focus-ring);outline-offset:1px}
.quick-reply-main-action button{flex:0 0 auto;min-height:34px;padding:0 14px;border:1px solid var(--brand);border-radius:4px;background:var(--brand);color:var(--inverse-text);font-size:var(--font-size-sm);cursor:pointer}
.quick-reply-main-action button:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.quick-reply-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.quick-reply-mention{color:var(--brand);font-size:var(--font-size-sm);text-decoration:none}
.quick-reply-mention:hover{text-decoration:underline}
.quick-reply-home{display:flex;align-items:center;justify-content:center;min-height:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.quick-reply-home[hidden]{display:none}
.topic-post-list .post-entry.quick-reply-host-before{grid-template-areas:"avatar body" "content content" "quick-reply-extra quick-reply-extra" "quick-reply-slot quick-reply-slot"}
.topic-post-list .post-entry.quick-reply-host-before.has-title{grid-template-areas:"title title" "avatar body" "content content" "quick-reply-extra quick-reply-extra" "quick-reply-slot quick-reply-slot"}
.quick-reply-slot{grid-area:quick-reply-slot;min-width:0;margin:10px 0}
.quick-reply-slot .reply-panel{margin:0}
.topic-post-list .quick-reply-new-reply{margin:10px 0;padding:12px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg)}
.quick-reply-collapse{margin-left:auto;color:var(--text-subtle);font-size:var(--font-size-sm);line-height:1.4;text-align:right;cursor:pointer}
/* quote_threads */
.quote-threads-thread-item{border-bottom:0}
.quote-threads-child{position:relative;grid-template-columns:28px minmax(0,1fr);grid-template-areas:"avatar body" "content content";gap:0 8px;min-height:0;margin:0 0 0 34px;padding:9px 0 10px 13px;border:0;border-left:1px solid var(--line-soft);border-radius:0;background:transparent;box-shadow:none}
.topic-post-list .quote-threads-child.quick-reply-new-reply{margin:0 0 0 34px;padding:9px 10px 10px 13px;border:0;border-left:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg)}
.quote-threads-child::before{position:absolute;top:18px;left:-1px;width:9px;border-top:1px solid var(--line-soft);content:""}
.quote-threads-child.post-highlight{background:var(--brand-soft)}
.topic-post-list .quote-threads-child.quick-reply-new-reply.post-highlight{background:var(--brand-soft)}
.quote-threads-child .post-avatar{width:28px;height:28px;transform:none}
.quote-threads-child .post-body{min-height:28px}
.quote-threads-child .post-head{min-height:16px;padding-right:44px}
.quote-threads-child .post-meta{display:flex;align-items:center;gap:5px;margin-top:2px}
.quote-threads-child .post-content{margin-top:6px;padding-top:0;border:0}
.quote-threads-child .post-ops{right:0}
.quote-threads-reference{display:inline-flex;align-items:center;gap:3px;padding:0;background:transparent;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:500;line-height:1.35;white-space:nowrap}
.quote-threads-reference::before{color:var(--text-subtle);content:"↳";font-size:14px;line-height:1}
.quote-threads-cross-page .quote-threads-reference::after{color:var(--text-subtle);content:"· 跨页";font-weight:400}
.quote-threads-thread-end{border-bottom:1px solid var(--line)}
.topic-post-list>.post-entry.quote-threads-is-collapsed{display:none}
.quote-threads-toggle-row{display:flex;align-items:center;margin:0 0 8px 34px;padding:6px 0 8px 13px;border-left:1px solid var(--line-soft);list-style:none}
.quote-threads-toggle{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 9px;border:0;border-radius:var(--radius-sm);background:var(--line-soft);color:var(--text-muted);font:inherit;font-size:var(--font-size-xs);font-weight:600;line-height:1.2;cursor:pointer}
.quote-threads-toggle:hover{background:var(--brand-soft);color:var(--brand)}
.quote-threads-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(max-width:720px){.quote-threads-child{grid-template-columns:26px minmax(0,1fr);margin-left:25px;padding-left:10px}.topic-post-list .quote-threads-child.quick-reply-new-reply{margin-left:25px;padding-left:10px}.quote-threads-toggle-row{margin-left:25px;padding-left:10px}.quote-threads-child .post-avatar{width:26px;height:26px}.quote-threads-child .post-body{min-height:26px}}
/* sb_infinite_scroll */
.infinite-scroll-loader {
    text-align: center;
    padding: 20px;
    color: var(--text-muted);
}
.infinite-scroll-loader .spinner {
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 3px solid var(--line-soft);
    border-top-color: var(--brand);
    border-radius: 50%;
    animation: infinite-scroll-spin 0.8s linear infinite;
}
.infinite-scroll-end {
    text-align: center;
    padding: 20px;
    color: var(--text-disabled);
}
.infinite-scroll-error {
    text-align: center;
    padding: 10px 20px;
    color: var(--danger);
    cursor: pointer;
}
.infinite-scroll-error:hover {
    text-decoration: underline;
}
.infinite-scroll-trigger {
    text-align: center;
    padding: 12px;
}
.infinite-scroll-trigger button {
    padding: 8px 24px;
    border: 1px solid var(--brand);
    border-radius: 6px;
    background: var(--bg);
    color: var(--brand);
    cursor: pointer;
    font-size: var(--font-size-sm);
}
.infinite-scroll-trigger button:hover {
    background: var(--brand-soft);
}
.infinite-scroll-sidebar-hint {
    margin-top: 6px;
    color: var(--text-subtle);
    font-size: var(--font-size-xs);
}
.infinite-scroll-trigger button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.pagination-bar.sb-infinite-scroll-pagination-hidden {
    display: none;
}
.sb-infinite-scroll-profile-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:14px;padding:14px 16px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg)}
.sb-infinite-scroll-profile-main{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;min-width:0}
.sb-infinite-scroll-profile-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:22px;font-weight:700;line-height:1}
.sb-infinite-scroll-profile-copy{display:grid;gap:3px;min-width:0}
.sb-infinite-scroll-profile-copy strong{color:var(--text);font-size:var(--font-size-md);line-height:1.35}
.sb-infinite-scroll-profile-copy small{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.45}
.sb-infinite-scroll-profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:220px;justify-self:end;padding-left:18px;border-left:1px solid var(--line-soft)}
.sb-infinite-scroll-profile-status{color:var(--text-subtle);font-size:var(--font-size-sm);white-space:nowrap}
.sb-infinite-scroll-switch{position:relative;display:inline-flex;align-items:center;margin:0;cursor:pointer}
.sb-infinite-scroll-switch input{position:absolute;opacity:0;pointer-events:none}
.sb-infinite-scroll-switch span{display:block;width:44px;height:26px;border-radius:999px;background:var(--line);box-shadow:inset 0 0 0 1px var(--line);transition:background .18s,box-shadow .18s}
.sb-infinite-scroll-switch span:before{content:"";display:block;width:20px;height:20px;margin:3px;border-radius:50%;background:var(--panel);box-shadow:0 1px 4px var(--shadow-medium);transition:transform .18s}
.sb-infinite-scroll-switch input:checked+span{background:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.sb-infinite-scroll-switch input:checked+span:before{transform:translateX(18px)}
.sb-infinite-scroll-profile-actions button{min-height:32px;margin:0;padding:0 12px;border-radius:7px;font-size:var(--font-size-sm);white-space:nowrap}
@media(max-width:720px){.sb-infinite-scroll-profile-card{grid-template-columns:1fr;align-items:stretch}.sb-infinite-scroll-profile-actions{justify-content:flex-end;min-width:0;padding-left:0;border-left:0}.sb-infinite-scroll-profile-actions button{min-width:76px}}
@keyframes infinite-scroll-spin {
    to { transform: rotate(360deg); }
}
/* sb_limit_edit_time */
.sb-limit-edit-time-note{margin-top:14px;color:var(--text-subtle);font-size:12px;line-height:1.5}.sb-limit-edit-time-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}.sb-limit-edit-time-note a:hover{color:var(--brand)}
/* sb_user_rewiew */
.user-review-card{border-color:var(--brand-soft);background:linear-gradient(180deg,var(--success-soft) 0,var(--panel) 100%);box-shadow:0 8px 22px var(--shadow-base)}.user-review-wrap{display:grid;gap:10px;padding:12px 14px}.user-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.user-review-title{color:var(--text);font-size:13px;font-weight:700;line-height:1.35}.user-review-sub{margin-top:2px;color:var(--text-subtle);font-size:11px;line-height:1.35}.user-review-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border:1px solid var(--warning-soft);border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:11px;font-weight:600;white-space:nowrap}.user-review-tab-dot{display:inline-block;width:5px;height:5px;margin-left:4px;vertical-align:2px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.user-review-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.user-review-stats>div{display:grid;gap:2px;padding:8px;border:1px solid var(--line-soft);border-radius:7px;background:var(--bg);text-align:center}.user-review-stats strong{color:var(--text);font-size:17px;line-height:1.1}.user-review-stats span{color:var(--text-subtle);font-size:11px;line-height:1.25}.user-review-action{display:block}.user-review-action a{display:flex;align-items:center;justify-content:center;width:100%;min-height:32px;padding:0 10px;border:1px solid var(--brand);border-radius:7px;background:var(--brand);color:var(--inverse-text);font-size:12px;font-weight:700;text-decoration:none}.user-review-action a:hover{border-color:var(--brand-hover);background:var(--brand-hover);color:var(--inverse-text)}.user-review-panel+.user-review-panel{margin-top:12px}.user-review-panel-body{padding:12px}.user-review-summary{display:grid;gap:2px;min-width:0}.user-review-summary strong{color:var(--text);font-size:14px;line-height:1.3}.user-review-summary span{color:var(--text-subtle);font-size:12px;line-height:1.35}.user-review-settings{display:grid;gap:8px;max-width:520px}.user-review-settings .grid{grid-template-columns:1fr;gap:5px;margin:0}.user-review-settings .grid>span{padding-top:0;color:var(--text-muted);font-size:12px}.user-review-settings input,.user-review-settings select{max-width:450px}.user-review-settings button{justify-self:start;margin-top:4px}.user-review-approve{border-color:var(--brand-soft);background:var(--brand-soft);color:var(--brand);font-weight:600}.user-review-approve:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-hover)}.admin-object-row.user-review-row{grid-template-columns:minmax(0,1fr) auto}.user-review-row .admin-content-text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--text-muted)}.user-review-turnstile{width:100%;max-width:450px;min-height:65px;margin-bottom:12px;overflow:hidden;border-radius:var(--radius-sm);background:transparent;line-height:0}.user-review-turnstile .cf-turnstile{width:100%;background:transparent}.user-review-turnstile iframe{display:block;width:100%!important;max-width:100%;border:0;border-radius:var(--radius-sm);background:transparent;color-scheme:light dark}.user-review-native-captcha{display:grid;gap:8px;width:100%;max-width:360px;margin:12px 0 14px;box-sizing:border-box}.native-captcha-head{display:flex;align-items:baseline;gap:8px;min-width:0}.native-captcha-head strong{color:var(--text);font-size:var(--font-size-sm);font-weight:700;line-height:1.35}.native-captcha-head span{color:var(--text-subtle);font-size:var(--font-size-xs);line-height:1.35}.native-captcha-control{display:grid;grid-template-columns:minmax(116px,max-content) 128px;align-items:center;gap:12px;width:max-content;max-width:100%}.native-captcha-question{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:116px;height:38px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-size:17px;font-weight:800;letter-spacing:.2px;line-height:1;white-space:nowrap}.native-captcha-answer{box-sizing:border-box!important;width:128px!important;max-width:128px!important;height:38px!important;min-height:38px!important;margin:0!important;text-align:center}.native-captcha-status{display:block;color:var(--text-subtle);font-size:var(--font-size-xs);line-height:1.35}.native-captcha-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.reply-panel .user-review-native-captcha{margin:12px 0 4px;max-width:360px}.reply-panel .native-captcha-control{width:max-content}.form-panel .user-review-native-captcha{max-width:360px}@media(max-width:520px){.user-review-native-captcha,.reply-panel .user-review-native-captcha,.form-panel .user-review-native-captcha{max-width:none}.native-captcha-head{display:grid;gap:2px}.native-captcha-control{grid-template-columns:minmax(108px,1fr) minmax(96px,120px);gap:10px;width:100%}.native-captcha-question{min-width:0;width:100%;height:40px}.native-captcha-answer{width:100%!important;max-width:none!important;height:40px!important;min-height:40px!important}}@media(max-width:360px){.native-captcha-control{grid-template-columns:1fr}.native-captcha-answer{text-align:left}}.user-review-email-code-field{gap:6px}.user-review-email-code-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;width:300px;max-width:100%;gap:0;align-items:center}.user-review-email-code-row input,.user-review-email-code-row button{height:34px;min-height:34px;box-sizing:border-box}.user-review-email-code-row input{min-width:0;letter-spacing:1px;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.user-review-email-code-row button{width:112px;padding:0 8px;border:1px solid var(--line);border-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--panel);color:var(--text-muted);white-space:nowrap}.user-review-email-code-row button:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.user-review-email-code-row button:disabled{background:var(--bg);color:var(--text-muted);cursor:not-allowed}.user-review-email-code-field small{display:block;color:var(--text-muted);font-size:12px;line-height:18px}.user-review-email-code-field small:empty{display:none}.user-review-email-code-field small.success{color:var(--brand)}.user-review-email-code-field small.error{color:var(--danger)}@media(max-width:720px){.admin-object-row.user-review-row{grid-template-columns:minmax(0,1fr)}.admin-object-row.user-review-row .admin-inline-ops{grid-column:1;justify-content:flex-start;margin-left:0}}@media(max-width:340px){.user-review-email-code-row{grid-template-columns:minmax(0,1fr) 104px}.user-review-email-code-row button{width:104px}}.user-review-row .admin-content-text{display:block;overflow:visible;-webkit-line-clamp:unset;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.user-review-settings{max-width:none;gap:12px}.user-review-setting-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.user-review-setting-card{display:grid;align-content:start;gap:12px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.user-review-setting-card-wide{grid-column:1/-1}.user-review-setting-card h3{margin:0;padding-bottom:9px;border-bottom:1px solid var(--line-soft);font-size:13px;line-height:1.4}.user-review-settings-fields{display:grid;gap:10px;min-width:0}.user-review-settings-fields-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.user-review-settings-fields .grid{min-width:0;align-self:start}.user-review-settings-fields-columns .user-review-review-count-field,.user-review-settings-fields-columns .user-review-keyword-field{grid-column:1/-1}.user-review-review-count-field input{max-width:180px}.user-review-settings-fields input:not([type=checkbox]),.user-review-settings-fields select,.user-review-settings-fields textarea{width:100%;max-width:none}.user-review-settings-fields .user-review-wide-field{grid-column:1/-1}.user-review-settings-actions{display:flex;align-items:center}.user-review-settings-actions button{margin:0}@media(max-width:720px){.user-review-setting-cards,.user-review-settings-fields-columns{grid-template-columns:1fr}.user-review-setting-card-wide,.user-review-settings-fields .user-review-wide-field{grid-column:auto}}.user-review-mail-preview{display:grid;gap:12px;min-width:0}.user-review-mail-preview .note{margin:0}.user-review-mail-preview dl{display:grid;gap:1px;margin:0;overflow:hidden;border:1px solid var(--line-soft);border-radius:6px;background:var(--line-soft)}.user-review-mail-preview dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:8px 10px;background:var(--bg)}.user-review-mail-preview dt{color:var(--text-muted);font-size:12px}.user-review-mail-preview dd{min-width:0;margin:0;overflow-wrap:anywhere}.user-review-mail-preview pre{max-height:45vh;margin:0;padding:12px;overflow:auto;border:1px solid var(--line-soft);border-radius:6px;background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere}.user-review-mail-preview .confirm-actions{justify-content:flex-end}.user-review-email-card{display:grid;gap:12px;margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.user-review-email-card .profile-disclosure-detail{padding:0;border:0;background:transparent}.user-review-email-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.user-review-email-form{display:grid;gap:10px}.user-review-email-form .grid{grid-template-columns:1fr;gap:5px;margin:0}.user-review-email-form .grid>span{padding-top:0}.user-review-email-form input{max-width:450px}.user-review-email-form>button{justify-self:start;margin-top:6px}.user-review-email-suffix-hint{display:grid;gap:3px;margin:-2px 0 10px;padding:9px 11px;border:1px solid var(--info-soft);border-radius:var(--radius-sm);background:var(--info-soft);color:var(--text-muted);font-size:12px;line-height:1.5}.user-review-email-suffix-hint strong{color:var(--info);font-size:12px}.user-review-email-suffix-hint span{overflow-wrap:anywhere}.user-review-content-preview{display:grid;gap:14px;min-width:0}.user-review-preview-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--text-muted);font-size:12px}.user-review-preview-body{max-height:60vh;padding:14px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.user-review-preview-body img{display:block;max-width:100%;height:auto;margin:10px auto;border-radius:6px}.user-review-preview-source{border-top:1px solid var(--line-soft);padding-top:10px}.user-review-preview-source summary{color:var(--text-muted);font-size:12px;cursor:pointer}.user-review-preview-source pre{max-height:30vh;margin:8px 0 0;padding:10px;overflow:auto;border-radius:6px;background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere}.user-review-edit-diff{display:grid;gap:12px;min-width:0}.user-review-diff-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.user-review-diff-head>span{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px}.user-review-diff-swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.user-review-diff-swatch-delete{background:var(--danger-soft)}.user-review-diff-swatch-add{background:var(--success-soft)}.user-review-diff-section{display:grid;gap:6px;min-width:0}.user-review-diff-section h4{margin:0;color:var(--text-muted);font-size:12px}.user-review-diff-code{max-height:36vh;overflow:auto;border:1px solid var(--line);border-radius:7px;background:var(--bg);font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.user-review-diff-line{display:grid;grid-template-columns:42px 42px 22px minmax(0,1fr);min-height:23px}.user-review-diff-line>span,.user-review-diff-line>code{padding:2px 7px;border-bottom:1px solid var(--line-soft)}.user-review-diff-line:last-child>span,.user-review-diff-line:last-child>code{border-bottom:0}.user-review-diff-number{border-right:1px solid var(--line-soft);color:var(--text-subtle);text-align:right;user-select:none}.user-review-diff-mark{color:var(--text-muted);text-align:center;user-select:none}.user-review-diff-line code{display:block;min-width:0;color:var(--text);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.user-review-diff-delete{background:var(--danger-soft)}.user-review-diff-delete .user-review-diff-mark{color:var(--danger)}.user-review-diff-add{background:var(--success-soft)}.user-review-diff-add .user-review-diff-mark{color:var(--success)}.user-review-diff-omit{background:var(--panel);color:var(--text-subtle)}.user-review-diff-omit span,.user-review-diff-omit code{color:var(--text-subtle)}@media(max-width:560px){.user-review-diff-head{align-items:flex-start;flex-direction:column}.user-review-diff-line{grid-template-columns:30px 30px 18px minmax(0,1fr)}.user-review-diff-line>span,.user-review-diff-line>code{padding:2px 4px}}
/* seo_suite */
.seo-suite-form{width:100%;max-width:none}.seo-suite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.seo-suite-section{display:grid;align-content:start;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.seo-suite-section h3{margin:0;color:var(--text);font-size:13px}.seo-suite-section .grid{gap:5px}.seo-suite-form input:not([type=checkbox]),.seo-suite-form select,.seo-suite-form textarea{width:100%;max-width:none;box-sizing:border-box}.seo-suite-form textarea{min-height:104px;resize:vertical}.seo-suite-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.seo-suite-actions form{margin:0}.seo-suite-tools{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.seo-suite-status{overflow-wrap:anywhere}@media(max-width:600px){.seo-suite-grid,.seo-suite-tools{grid-template-columns:1fr}.seo-suite-section{padding:12px}}
/* seo_tdk */
.seo-tdk-panel{display:grid;gap:14px;width:100%;min-width:0}.seo-tdk-status{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.seo-tdk-status-row{display:flex;gap:12px;justify-content:space-between;align-items:baseline;font-size:var(--font-size-sm)}.seo-tdk-status-row span{color:var(--text-muted);white-space:nowrap}.seo-tdk-status-row strong{color:var(--text);font-weight:600;text-align:right;overflow-wrap:anywhere}.seo-tdk-form{width:100%;max-width:none}.seo-tdk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.seo-tdk-section{display:grid;align-content:start;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.seo-tdk-section h3{margin:0;color:var(--text);font-size:var(--font-size-sm)}.seo-tdk-section .grid{gap:5px}.seo-tdk-form input:not([type=checkbox]),.seo-tdk-form select,.seo-tdk-form textarea{width:100%;max-width:none;box-sizing:border-box}.seo-tdk-form textarea{resize:vertical}.seo-tdk-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.seo-tdk-actions form{margin:0}.seo-tdk-inline-actions{margin-top:0}.seo-tdk-actions .seo-tdk-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-soft)}.seo-tdk-tools{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.seo-tdk-edit-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.seo-tdk-edit-head strong{display:block;color:var(--text);overflow-wrap:anywhere}.seo-tdk-edit-head span{color:var(--text-muted);font-size:var(--font-size-xs)}.seo-tdk-back{color:var(--brand);font-size:var(--font-size-sm)}.seo-tdk-preview{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel);font-size:var(--font-size-sm)}.seo-tdk-preview strong{color:var(--text)}.seo-tdk-preview span{color:var(--text-muted);overflow-wrap:anywhere}.seo-tdk-toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}.seo-tdk-filters{display:flex;gap:6px;flex-wrap:wrap}.seo-tdk-filter{padding:4px 10px;border:1px solid var(--line);border-radius:999px;color:var(--text-muted);font-size:var(--font-size-xs)}.seo-tdk-filter.active{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.seo-tdk-search{display:flex;gap:6px;margin:0}.seo-tdk-search input{min-width:0;width:180px;box-sizing:border-box}.seo-tdk-list{display:grid;gap:8px;min-width:0}.seo-tdk-item{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.seo-tdk-item-main{display:grid;gap:3px;min-width:0;flex:1 1 260px}.seo-tdk-item-main strong{color:var(--text);font-size:var(--font-size-sm);overflow-wrap:anywhere}.seo-tdk-item-main span{color:var(--text-muted);font-size:var(--font-size-xs);overflow-wrap:anywhere}.seo-tdk-item-side{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.seo-tdk-tag{padding:2px 8px;border-radius:999px;background:var(--line-soft);color:var(--text-subtle);font-size:var(--font-size-xs)}.seo-tdk-tag.on{background:var(--success-soft);color:var(--success)}.seo-tdk-link{color:var(--brand);font-size:var(--font-size-sm)}.seo-tdk-empty{padding:18px;border:1px dashed var(--line);border-radius:8px;color:var(--text-muted);font-size:var(--font-size-sm);text-align:center}.seo-tdk-action:before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27currentColor%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%2711%27 cy=%2711%27 r=%277%27/%3E%3Cpath d=%27M20 20l-3.5-3.5%27/%3E%3C/svg%3E") center/14px 14px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27currentColor%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%2711%27 cy=%2711%27 r=%277%27/%3E%3Cpath d=%27M20 20l-3.5-3.5%27/%3E%3C/svg%3E") center/14px 14px no-repeat}@media(max-width:600px){.seo-tdk-grid,.seo-tdk-tools{grid-template-columns:1fr}.seo-tdk-section{padding:12px}.seo-tdk-search input{width:100%}.seo-tdk-search{width:100%}}
/* topic_favorites */
.topic-favorites-action .fav-btn{margin:0;padding:0;border:0;background:transparent;font:inherit;cursor:pointer}.topic-favorites-action .fav-btn:hover{background:transparent}.topic-favorites-action .fav-btn:disabled{opacity:.55}
/* topic_stamp */
.topic-stamp-badge{display:inline-flex;align-items:center;min-height:18px;padding:0 7px;border-radius:999px;font-size:var(--font-size-xs);font-weight:700;line-height:1;vertical-align:middle}
.topic-stamp-recommend{background:var(--success-soft);color:var(--success)}
.topic-stamp-essence{background:var(--danger-soft);color:var(--danger)}
.topic-stamp-hot{background:var(--warning-soft);color:var(--warning)}
.topic-stamp-new{background:var(--info-soft);color:var(--info)}
.topic-stamp-admin{display:grid;gap:14px}
.topic-stamp-admin-list{display:grid;gap:8px;padding:14px;border:1px solid var(--line-soft);border-radius:10px;background:var(--panel)}
.topic-stamp-admin-list h3{margin:0}
.topic-stamp-admin-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.topic-stamp-admin-title{font-weight:600}
.topic-stamp-essence-panel{display:grid;gap:0}
.topic-stamp-essence-head{display:grid;gap:4px;padding:14px}
.topic-stamp-essence-head h2,.topic-stamp-essence-head p{margin:0}
.topic-stamp-essence-head p,.topic-stamp-essence-item span{color:var(--text-muted);font-size:var(--font-size-sm)}
.topic-stamp-essence-list{display:grid;margin:0;padding:0;list-style:none}
.topic-stamp-essence-item{padding:12px 14px;border-top:1px solid var(--line)}
.topic-stamp-essence-title{font-weight:600}
/* unread_topic_notice */
.unread-topic-notice{display:inline-flex;align-items:center;gap:4px;margin-left:6px;color:var(--brand);font-size:11px;font-weight:600;line-height:1;vertical-align:1px;white-space:nowrap}
.unread-topic-notice:hover{color:var(--brand-hover)}
.unread-topic-notice:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.topic-toolbar .post-action-form{flex:0 0 auto!important}
.topic-toolbar button.unread-topic-read-all{min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--text-disabled)!important;font-size:12px!important;font-weight:400!important;line-height:1.4!important;white-space:nowrap!important}
.topic-toolbar button.unread-topic-read-all:hover{background:transparent!important;color:var(--text-muted)!important}
/* user_uid_badge */
.post-head .post-user-group.user-uid-badge{font-variant-numeric:tabular-nums;white-space:nowrap}
/* username_change */
.form-panel form>.username-change-inline{margin:0 0 8px}.username-change-inline .profile-disclosure-summary{align-items:center}.username-change-summary-meta{display:flex;align-items:center;gap:8px}.username-change-summary-meta small{color:var(--text-muted);font-size:12px}.username-change-inline-fields{display:flex;gap:8px}.username-change-inline-fields input{min-width:0;flex:1}.username-change-inline-fields button{white-space:nowrap}.username-change-inline p{margin:8px 0 0;color:var(--text-muted);font-size:12px}.username-change-current-password{margin-top:10px}.username-change-current-password input{width:100%}
/* virtual_card */
.virtual-card-topic-option{padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}
.virtual-card-topic-option.is-selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--panel))}
.virtual-card-topic-option>[data-topic-type-choice]{display:flex;gap:10px;align-items:flex-start;margin:0}
.virtual-card-topic-option>[data-topic-type-choice] span{display:grid}
.virtual-card-topic-option>[data-topic-type-choice] small{color:var(--text-muted)}
.virtual-card-topic-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}
.virtual-card-publish-warning{margin:0;padding:10px 12px;border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:var(--font-size-sm);font-weight:700;line-height:1.55;text-align:center}
.virtual-card-editor{margin:10px 0}
.virtual-card-editor-details{display:grid}
.virtual-card-editor-details summary{display:inline-flex;align-items:center;width:max-content;max-width:100%;color:var(--text);font-size:var(--font-size-xs);font-weight:600;line-height:1.4;cursor:pointer;list-style:none}
.virtual-card-editor-details summary::-webkit-details-marker{display:none}
.virtual-card-editor-details summary:before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:6px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:700;line-height:1}
.virtual-card-editor-details[open] summary:before{content:"-"}
.virtual-card-editor-inner{display:grid;gap:10px}
.virtual-card-card{grid-column:1/-1;width:100%;box-sizing:border-box;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);margin:10px 0;background:var(--panel);box-shadow:0 4px 14px var(--shadow-medium)}
.topic-post-list .post-entry.quick-reply-host-before>.virtual-card-card,.topic-post-list .post-entry.quick-reply-host-after>.virtual-card-card{grid-area:quick-reply-extra}
.virtual-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px 8px}
.virtual-card-head>div{display:grid;gap:1px;min-width:0}
.virtual-card-head strong{font-size:var(--font-size-md);line-height:1.4;word-break:break-word}
.virtual-card-kicker{color:var(--brand);font-size:var(--font-size-xs);font-weight:700;line-height:1.3}
.virtual-card-status{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:var(--font-size-xs);font-weight:700;white-space:nowrap}
.virtual-card-status-pending{background:var(--warning-soft);color:var(--warning)}
.virtual-card-pending-notice{margin:0;padding:10px 12px;border:1px solid var(--warning);border-radius:var(--radius);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-sm);font-weight:700}
.virtual-card-title-status{display:inline-flex;align-items:center;margin-left:7px;padding:2px 7px;border-radius:999px;font-size:var(--font-size-xs);font-weight:700;vertical-align:middle;white-space:nowrap}
.virtual-card-title-status.active{background:var(--brand-soft);color:var(--brand)}
.virtual-card-title-status.finished{background:var(--line-soft);color:var(--text-muted)}
.virtual-card-title-status.pending{background:var(--warning-soft);color:var(--warning)}
.virtual-card-body{display:grid;gap:8px;padding:0 12px 10px}
.virtual-card-price{display:flex;align-items:baseline;gap:5px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg)}
.virtual-card-price strong{color:var(--brand);font-size:var(--font-size-xl);line-height:1}
.virtual-card-price span,.virtual-card-tip{color:var(--text-muted);font-size:var(--font-size-xs)}
.virtual-card-tip{margin:0}
.virtual-card-box form{margin:0}
.virtual-card-box form button{width:100%}
.virtual-card-orders{margin-top:4px}
.virtual-card-orders h3{font-size:var(--font-size-xs);margin:0 0 7px}
.virtual-card-orders ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.virtual-card-orders li{border:1px solid var(--line-soft);border-radius:var(--radius);padding:9px 10px;min-width:0;background:var(--bg)}
.virtual-card-orders li>div{display:flex;align-items:center;gap:8px}
.virtual-card-orders code{overflow-wrap:anywhere;flex:1}
.virtual-card-orders small{display:flex;gap:10px;flex-wrap:wrap;color:var(--text-subtle);margin-top:6px}
.virtual-card-copy{width:auto;padding:5px 9px;white-space:nowrap}
.virtual-card-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px;font-size:var(--font-size-xs)}
.virtual-card-pagination a{padding:4px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}
.virtual-card-pagination span{color:var(--text-muted)}
.virtual-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:0 12px 10px;color:var(--text-muted);font-size:var(--font-size-xs)}
@media(max-width:600px){.virtual-card-editor{margin:8px 0}.virtual-card-editor-details summary{min-height:28px}.virtual-card-editor-details summary:before{flex:0 0 auto}.virtual-card-card{margin:8px 0;box-shadow:0 3px 10px var(--shadow-medium)}.virtual-card-head{display:grid;gap:4px;padding:9px 10px 7px}.virtual-card-status{justify-self:start;min-height:0;padding:0;background:transparent;color:var(--text-subtle);font-weight:400}.virtual-card-status-pending{color:var(--warning);font-weight:700}.virtual-card-body{padding:0 10px 9px}.virtual-card-orders li>div{align-items:flex-start}.virtual-card-foot{display:grid;gap:4px;padding:0 10px 9px}}.virtual-card-topic-types{display:grid;gap:12px;margin:14px 0}
.virtual-card-topic-types>[data-topic-type-group-title]{font-size:var(--font-size-md);font-weight:700}
.virtual-card-topic-types>[data-topic-type-options]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.virtual-card-topic-types>[data-topic-type-options]>[data-topic-type-option]{display:contents}
.virtual-card-topic-types [data-topic-type-choice]{display:flex;min-height:72px;align-items:center;gap:12px;margin:0;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);cursor:pointer}
.virtual-card-topic-types [data-topic-type-choice] input[data-topic-type-radio]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;white-space:nowrap}
.virtual-card-topic-types [data-topic-type-choice]:before{content:"";width:16px;height:16px;flex:0 0 16px;border:1.5px solid var(--text-subtle);border-radius:50%;box-shadow:inset 0 0 0 4px var(--panel)}
.virtual-card-topic-types [data-topic-type-choice] span{display:grid;min-width:0;gap:3px}
.virtual-card-topic-types [data-topic-type-choice] strong{font-size:var(--font-size-md)}
.virtual-card-topic-types [data-topic-type-choice] small{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.45}
.virtual-card-topic-types [data-topic-type-option].is-selected>[data-topic-type-choice]{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 18%,transparent)}
.virtual-card-topic-types [data-topic-type-option].is-selected>[data-topic-type-choice]:before{border-color:var(--brand);background:var(--brand)}
.virtual-card-topic-types [data-topic-type-option]:focus-within>[data-topic-type-choice]{outline:2px solid var(--focus-ring);outline-offset:2px}
.virtual-card-topic-types>[data-topic-type-panels]{display:grid;gap:10px}
.virtual-card-topic-types>[data-topic-type-panels]>[data-topic-type-panel]{margin:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}
.virtual-card-topic-types [data-topic-type-panel][hidden]{display:none}
@media(max-width:640px){.virtual-card-topic-types>[data-topic-type-options]{grid-template-columns:1fr}}
