/* accepted_answer */
.accepted-answer-list-badge{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.accepted-answer-jump:before{display:none}.accepted-answer-jump svg{display:block;width:14px;height:14px}.accepted-answer-mark{display:flex;align-items:center;gap:6px;margin-top:14px;padding:9px 11px;border:1px solid var(--success);border-radius:var(--radius-sm);background:var(--success-soft);color:var(--success)}.accepted-answer-mark svg{width:17px;height:17px;flex:0 0 17px}.accepted-answer-form{display:flex;justify-content:flex-end;margin-top:10px}.accepted-answer-form button{min-height:28px;padding:3px 9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--text-muted);font-size:var(--font-size-xs)}.accepted-answer-form button:hover{border-color:var(--brand);color:var(--brand)}
/* 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))}}
/* batch_management */
.batch-management-trash-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:14px}.batch-management-trash-row .admin-row-check{width:38px;height:22px;margin:0}.batch-management-trash-main{gap:9px}.batch-management-trash-title{display:flex;align-items:center;gap:7px;min-width:0}.batch-management-trash-title strong{min-width:0;overflow:hidden;color:var(--text);font-size:var(--font-size-md);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.batch-management-trash-type{display:inline-flex;align-items:center;flex:0 0 auto;min-height:22px;padding:0 7px;border:1px solid var(--brand-soft);border-radius:5px;background:var(--brand-soft);color:var(--brand);font-size:var(--font-size-xs);font-weight:700;line-height:1}.batch-management-trash-id{flex:0 0 auto;color:var(--text-subtle);font-family:var(--font-mono);font-size:var(--font-size-xs)}.batch-management-trash-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.4}.batch-management-trash-meta time:before{content:"·";margin-right:7px;color:var(--text-subtle)}.batch-management-trash-details{border-top:1px solid var(--line-soft);padding-top:8px}.batch-management-trash-details summary{width:max-content;max-width:100%;color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer}.batch-management-trash-details summary:hover{color:var(--brand)}.batch-management-trash-details .admin-trash-data{max-height:320px;margin:9px 0 0;padding:10px;overflow:auto;border:1px solid var(--line-soft);border-radius:6px;background:var(--bg);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.batch-management-trash-ops{align-self:start;margin:0}.batch-management-trash-ops .post-action-form{margin:0}.batch-management-trash-ops button{min-height:32px;margin:0;white-space:nowrap}@media(max-width:720px){.batch-management-trash-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px}.batch-management-trash-title{align-items:flex-start;flex-wrap:wrap;gap:6px}.batch-management-trash-title strong{flex:1 1 130px;white-space:normal;overflow-wrap:anywhere}.batch-management-trash-id{margin-top:3px}.batch-management-trash-ops{display:flex!important;grid-column:1!important;align-items:center;gap:8px!important;width:100%;margin:2px 0 0!important;overflow:visible!important}.batch-management-trash-ops .post-action-form{flex:1 1 96px}.batch-management-trash-ops button{width:100%;justify-content:center}.batch-management-trash-ops .admin-row-check{flex:0 0 38px}.batch-management-trash-details .admin-trash-data{max-height:240px;padding:9px}}
/* bilibili_embed */
.bilibili-embed-wrap{position:relative;width:100%;max-width:640px;margin:10px 0 12px;aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--radius-sm);background:#0f172a;overflow:hidden}.bilibili-embed-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.post-content .bilibili-embed-wrap+br{display:none}
/* color_scheme */
.color-scheme-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.color-scheme-choice{display:block;min-width:0;margin:0}.color-scheme-choice button{display:flex;width:100%;min-width:0;min-height:94px;box-sizing:border-box;align-items:center;gap:12px;padding:14px;text-align:left;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);white-space:normal;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-font-preview{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:1px solid var(--line-soft);border-radius:6px;background:var(--bg);font-weight:700;line-height:1}.color-scheme-width-preview{display:flex;width:40px;height:40px;flex:0 0 40px;align-items:center;justify-content:center;border:1px solid var(--line-soft);border-radius:6px;background:var(--bg)}.color-scheme-width-preview:before,.color-scheme-width-preview:after,.color-scheme-width-preview i{display:block;height:3px;background:var(--text-subtle);content:""}.color-scheme-width-preview:before,.color-scheme-width-preview:after{width:100%;opacity:.38}.color-scheme-width-preview{gap:3px;flex-direction:column}.color-scheme-width-preview i{max-width:100%;background:var(--brand)}.color-scheme-choice-copy{display:grid;flex:1 1 auto;gap:2px;min-width:0}.color-scheme-choice-copy strong,.color-scheme-choice-copy small{white-space:normal}.color-scheme-choice-copy small{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.45;overflow-wrap:anywhere}.color-scheme-section-title{margin:24px 0 8px;font-size:var(--font-size-lg)}.color-scheme-font-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.color-scheme-font-inputs .grid{grid-template-columns:1fr;gap:5px;margin:0}.color-scheme-font-inputs input{box-sizing:border-box;width:100%;max-width:none}.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{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}.color-scheme-dark-mode-control{position:relative;display:flex;align-items:center;flex:0 0 30px}.color-scheme-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}.color-scheme-dark-mode-toggle-btn:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.color-scheme-dark-mode-toggle-btn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);border-color:var(--brand)}.color-scheme-dark-mode-toggle-btn svg{width:17px;height:17px}.color-scheme-dark-mode-toggle-btn svg:not(.color-scheme-dark-mode-icon-active){display:none}.color-scheme-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)}.color-scheme-dark-mode-menu.open{display:grid;gap:2px}.color-scheme-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}.color-scheme-dark-mode-option:hover,.color-scheme-dark-mode-option.active{background:var(--brand-soft);color:var(--brand)}.color-scheme-dark-mode-option:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.color-scheme-dark-mode-option svg{flex:0 0 16px;width:16px;height:16px}@media(max-width:720px){.color-scheme-dark-mode-control{width:28px;height:28px;flex-basis:28px}.color-scheme-dark-mode-toggle-btn{width:28px;height:28px;min-height:28px;border:0;background:transparent;color:var(--text-subtle)!important}.color-scheme-dark-mode-toggle-btn svg{width:24px;height:24px}.color-scheme-dark-mode-toggle-btn:hover{background:var(--bg);color:var(--text)!important}.color-scheme-dark-mode-menu{top:calc(100% + 5px)}}@media(max-width:640px){.color-scheme-font-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.color-scheme-font-inputs{grid-template-columns:1fr}.color-scheme-admin-item{align-items:flex-start;flex-direction:column}.color-scheme-admin-ops{width:100%;justify-content:flex-start}}html[data-color-scheme-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:#586779;--brand-hover:#6b7c90;--brand-soft:#1f2937;--success:#2ab86e;--success-soft:#19211d;--danger:#f47278;--danger-soft:#241b20;--warning:#f6a04e;--warning-soft:#252019;--info:#6aaeff;--info-soft:#19212a;--inverse:#0b0f14;--inverse-border:#2b313b;--inverse-text:#f1f5f9;--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}html[data-color-scheme-dark-mode-theme="dark"] input:not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="checkbox"]),html[data-color-scheme-dark-mode-theme="dark"] textarea,html[data-color-scheme-dark-mode-theme="dark"] select{background:var(--bg);color:var(--text);border-color:var(--line)}html[data-color-scheme-dark-mode-theme="dark"] input::placeholder,html[data-color-scheme-dark-mode-theme="dark"] textarea::placeholder{color:var(--text-subtle)}html[data-color-scheme-dark-mode-theme="dark"] ::selection{background:var(--brand-soft);color:var(--text)}html[data-color-scheme-dark-mode-theme="dark"] hr{border-color:var(--line)}html[data-color-scheme-dark-mode-theme="dark"] img:not([src$=".svg"]):not([src*=".svg?"]){filter:brightness(.92)}html[data-color-scheme-dark-mode-theme="dark"] pre,html[data-color-scheme-dark-mode-theme="dark"] code{background:var(--line-soft);border-color:var(--line)}html[data-color-scheme-dark-mode-theme="dark"] body,html[data-color-scheme-dark-mode-theme="dark"] .box,html[data-color-scheme-dark-mode-theme="dark"] .card,html[data-color-scheme-dark-mode-theme="dark"] .list,html[data-color-scheme-dark-mode-theme="dark"] .top,html[data-color-scheme-dark-mode-theme="dark"] .main-panel,html[data-color-scheme-dark-mode-theme="dark"] .home-shell,html[data-color-scheme-dark-mode-theme="dark"] .footer,html[data-color-scheme-dark-mode-theme="dark"] .tab,html[data-color-scheme-dark-mode-theme="dark"] .post-item,html[data-color-scheme-dark-mode-theme="dark"] .search-form,html[data-color-scheme-dark-mode-theme="dark"] .search-field{background:var(--bg);color:var(--text);border-color:var(--line)}html[data-color-scheme-dark-mode-theme="dark"] a,html[data-color-scheme-dark-mode-theme="dark"] button,html[data-color-scheme-dark-mode-theme="dark"] input,html[data-color-scheme-dark-mode-theme="dark"] textarea,html[data-color-scheme-dark-mode-theme="dark"] select{color:var(--text)}html[data-color-scheme-dark-mode-theme="dark"] .panel,html[data-color-scheme-dark-mode-theme="dark"] .form-panel{background:var(--panel);border-color:var(--line)}html[data-color-scheme-dark-mode-theme="dark"] .search-input{background:var(--bg);color:var(--text);border-color:var(--line)}
/* 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)}}
/* 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%}}
/* draft_autosave */
.draft-autosave-panel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;color:var(--text-subtle);font-size:var(--font-size-xs)}.draft-autosave-status{margin-right:auto}.draft-autosave-action{min-height:28px;padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer}.draft-autosave-action:hover{border-color:var(--brand);color:var(--brand)}.draft-autosave-action.is-danger:hover{border-color:var(--danger);color:var(--danger)}
/* email_unique */
.email-unique-hint{margin:0;color:var(--text-subtle);font-size:var(--font-size-xs)}.email-unique-conflict{grid-template-columns:minmax(0,1fr)}.email-unique-conflict .admin-content-text{overflow-wrap:anywhere}.email-unique-conflict a{color:var(--brand)}
/* external_link_badge */
.external-link-badge{display:inline-flex;align-items:baseline;gap:3px}.external-link-badge::after{content:"↗";color:var(--text-subtle);font-size:var(--font-size-xs);line-height:1}.external-link-badge:hover::after{color:var(--brand)}.external-link-badge-admin-body{display:grid;gap:12px;padding:14px}.external-link-badge-settings{display:grid;gap:10px;max-width:680px}.external-link-badge-settings .grid{grid-template-columns:1fr;gap:5px;margin:0}.external-link-badge-settings textarea{width:100%;max-width:none;min-height:150px}.external-link-badge-admin-body>p{margin:0;color:var(--text-muted);font-size:var(--font-size-sm)}
/* friend_links */
.friend-links-card{order:999}.friend-links-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.friend-links-title a{font-size:var(--font-size-sm);font-weight:400}.friend-links-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;margin:0}.friend-links-list li{min-width:0;border-bottom:none}.friend-links-list a{min-width:0;color:var(--text-muted);font-size:var(--font-size-sm)}.friend-links-list a:before{flex:0 0 6px}.friend-links-list a>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-links-list a:hover{color:var(--brand)}.friend-links-empty{margin:0;color:var(--text-subtle);font-size:var(--font-size-sm)}.friend-links-submit>p{color:var(--text-muted)}@media(max-width:600px){.friend-links-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* image_lightbox */
.post-content .image-lightbox-clickable{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;width:min(96vw,1400px);height:92vh;overflow:hidden;border-radius:8px;cursor:default;contain:paint}.image-lightbox-image{position:absolute;top:50%;left:50%;display:block;max-width:100%;max-height:100%;border-radius:8px;background:var(--panel);box-shadow:0 12px 36px var(--shadow-medium);object-fit:contain;transform:translate3d(-50%,-50%,0) translate3d(var(--image-lightbox-pan-x,0px),var(--image-lightbox-pan-y,0px),0) scale(var(--image-lightbox-scale,1));transform-origin:center;transition:transform .12s ease-out;will-change:transform;touch-action:none;user-select:none}.image-lightbox-image.image-lightbox-zoomed{cursor:grab}.image-lightbox-image.image-lightbox-dragging{cursor:grabbing;transition:none}.image-lightbox-close,.image-lightbox-nav,.image-lightbox-reset{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-reset{top:8px;right:50px;width:34px;min-width:34px;height:34px;min-height:34px;font-size:20px}.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],.image-lightbox-reset[hidden]{display:none}.image-lightbox-prev{left:12px}.image-lightbox-next{right:12px}.image-lightbox-caption{position:absolute;right:52px;bottom:8px;left:52px;z-index:1;margin:0;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;pointer-events:none}@media(max-width:720px){.image-lightbox-overlay{padding:10px}.image-lightbox-dialog{width:96vw;height:88vh}.image-lightbox-prev{left:6px}.image-lightbox-next{right:6px}.image-lightbox-caption{right:46px;bottom:6px;left:46px}.image-lightbox-reset{right:48px}}
/* ip_history */
.ip-history-search{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ip-history-search input{min-width:min(360px,70vw)}
.ip-history-rule-row{grid-template-columns:minmax(0,1fr) auto}
.ip-history-rule-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ip-history-rule-pattern,.ip-history-ip{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.ip-history-ip-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.ip-history-ip{padding:2px 7px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--text-muted);font-size:11px}
.ip-history-user-row,.ip-history-detail-row{grid-template-columns:minmax(0,1fr)}
.ip-history-detail-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ip-history-help{margin:0;color:var(--text-muted);font-size:12px;line-height:1.7}
@media (max-width:760px){.ip-history-rule-row{grid-template-columns:minmax(0,1fr)}.ip-history-rule-row>.admin-inline-ops{justify-content:flex-start}}
.post-meta.ip-history-location-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.ip-history-location-separator{color:var(--text-subtle);font-size:11px}.ip-history-location-subtitle{display:inline-flex;min-width:0;max-width:100%;overflow:hidden;color:var(--text-subtle);font-size:11px;font-weight:400;line-height:1.25;overflow-wrap:anywhere;text-overflow:ellipsis}.topic-post-list .post-meta.ip-history-location-meta{display:flex}.ip-history-recent-card .quick-wrap{display:grid;gap:7px}.ip-history-recent-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.ip-history-recent-item{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;padding:6px 0}.ip-history-recent-ip{min-width:0;overflow:hidden;color:var(--text);font-family:var(--font-mono);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ip-history-recent-time{flex:0 0 auto;color:var(--text-muted);font-size:11px}.ip-history-recent-empty{margin:0;color:var(--text-muted);font-size:12px}.ip-history-location-settings{max-width:none}
/* like_coin */
.like-coin-form{display:inline-flex}.like-coin-form .like-coin-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}.like-coin-form .like-coin-action:hover{background:var(--line-soft);color:var(--brand);opacity:1}.like-coin-form .like-coin-action.active{color:var(--brand);opacity:1}.like-coin-icon{width:14px;height:14px;flex:0 0 14px}.like-coin-icon path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.like-coin-action.active .like-coin-icon path{fill:currentColor}.like-coin-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.like-coin-gate-unlocked-note{display:flex;align-items:center;gap:6px;margin:0 0 8px;color:var(--text-subtle);font-size:var(--font-size-sm);line-height:1.45}.like-coin-gate-unlocked-note:before{content:"点赞投币";padding:2px 5px;border:1px solid var(--line-soft);border-radius:3px;background:var(--bg);color:var(--brand);font-size:10px;font-weight:700;line-height:1.25}.like-coin-dialog{display:grid;gap:14px}.like-coin-dialog p{margin:0;color:var(--text);font-size:var(--font-size-lg);line-height:1.65}.like-coin-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.like-coin-option{display:flex;align-items:center;gap:8px;min-width:0;padding:10px 12px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:var(--font-size-md)}.like-coin-option input{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:var(--brand)}.like-coin-option span{min-width:0;overflow-wrap:anywhere}.like-coin-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.like-coin-dialog-actions button{margin:0}@media(max-width:560px){.like-coin-options{grid-template-columns:1fr}}
/* markdown_textarea */
.markdown-textarea[data-markdown-textarea]{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}
.markdown-textarea[data-markdown-textarea] button{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:28px;padding:0 7px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:600 13px/1 var(--font-sans,inherit);cursor:pointer}
.markdown-textarea[data-markdown-textarea] button[data-markdown-action=emoji]{font-size:16px}
.markdown-textarea-emoji-icon{display:block;transform:translateY(-1px)}
.markdown-textarea[data-markdown-textarea] button:hover{border-color:var(--line);background:var(--panel);color:var(--text)}
.markdown-textarea[data-markdown-textarea] button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}
.markdown-textarea-dialog-field{display:grid;gap:5px;color:var(--text-muted);font-size:var(--font-size-sm)}
.markdown-textarea-dialog-field .prompt-input{box-sizing:border-box}
.markdown-textarea-emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}
.markdown-textarea-emoji-grid button{display:grid;place-items:center;min-width:0;height:36px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-size:20px;line-height:1;cursor:pointer}
.markdown-textarea-emoji-grid button:hover,.markdown-textarea-emoji-grid button:focus-visible{border-color:var(--line);background:var(--brand-soft);outline:0}
.markdown-table-wrap{box-sizing:border-box;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line) transparent;scrollbar-gutter:stable}
.markdown-table-wrap table{width:100%;min-width:0;table-layout:auto}
.markdown-table-wrap::-webkit-scrollbar{height:8px}
.markdown-table-wrap::-webkit-scrollbar-track{background:transparent}
.markdown-table-wrap::-webkit-scrollbar-thumb{border-radius:4px;background:var(--line)}
@media(max-width:720px){.markdown-table-wrap table{min-width:max-content}}
.form-panel .markdown-textarea-field{display:grid;row-gap:0;margin:0 0 8px}
.reply-panel .markdown-textarea-field{display:grid;row-gap:0;margin:0}
.markdown-textarea-field>span{margin-bottom:6px;color:var(--text-muted);font-size:var(--font-size-sm)}
.markdown-textarea-field>span>small{display:block}
.reply-panel .markdown-textarea-field>span{display:none}
.markdown-textarea-field>[data-markdown-textarea]{border-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--bg)}
.markdown-textarea-field>textarea[name=body]{border-top:0;border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--panel)}
.markdown-textarea-field:focus-within [data-markdown-textarea]{border-color:var(--brand)}
@media(max-width:480px){.markdown-textarea[data-markdown-textarea]{flex-wrap:nowrap;gap:0;padding:0;overflow-x:auto;scrollbar-width:none}.markdown-textarea[data-markdown-textarea]::-webkit-scrollbar{display:none}.markdown-textarea[data-markdown-textarea] button{flex:0 0 auto;min-width:28px;height:28px;padding:0 6px}}
/* modsecurity */
.modsecurity-event-detail{margin-top:8px}.modsecurity-event-detail summary{width:max-content;max-width:100%;color:var(--brand);font-size:12px;cursor:pointer}.modsecurity-event-grid{display:grid;grid-template-columns:112px minmax(0,1fr);gap:5px 10px;margin-top:8px;padding:10px;border:1px solid var(--line-soft);border-radius:6px;background:var(--bg);font-size:12px;line-height:1.45}.modsecurity-event-grid>span:nth-child(odd){color:var(--text-subtle)}.modsecurity-event-grid code{min-width:0;overflow-wrap:anywhere;white-space:pre-wrap;color:var(--text);font:11px/1.45 var(--font-mono)}.modsecurity-log-levels{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}.modsecurity-log-level{display:inline-flex!important;grid-template-columns:auto!important;align-items:center!important;gap:6px!important;width:auto!important;min-width:82px;padding:7px 10px;border:1px solid var(--line-soft);border-radius:6px;background:var(--bg);cursor:pointer}.modsecurity-log-level input{width:auto!important;min-height:0!important;max-width:none!important}.modsecurity-settings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.plugin-settings-form .modsecurity-settings-actions button{width:auto;margin-top:0}.modsecurity-settings-actions button+button{margin-left:10px;background:var(--bg);color:var(--text-muted);border:1px solid var(--line)}.modsecurity-settings-actions button+button:hover{background:var(--line-soft);color:var(--text);border-color:var(--text-subtle)}@media(max-width:560px){.modsecurity-event-grid{grid-template-columns:1fr;gap:2px;margin-top:7px}.modsecurity-event-grid>span:nth-child(odd){margin-top:5px;font-weight:600}.modsecurity-event-grid>span:nth-child(odd):first-child{margin-top:0}.modsecurity-settings-actions{gap:8px}.modsecurity-settings-actions button+button{margin-left:8px}}
/* 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)}
@supports(content-visibility:auto){.performance-render-root .topic-post-list>.post-entry:nth-child(n+4){content-visibility:auto;contain-intrinsic-size:auto 280px}}
/* plugin_search */
.plugin-search-toolbar{display:flex;align-items:center;gap:9px;padding:10px 12px;border-top:1px solid var(--line-soft);background:var(--bg)}.plugin-search-field{position:relative;display:flex;align-items:center;flex:1;min-width:180px;max-width:420px}.plugin-search-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.plugin-search-field:before{content:"";position:absolute;left:10px;width:14px;height:14px;background:currentColor;opacity:.55;pointer-events:none;-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%3E%3Ccircle cx=%2711%27 cy=%2711%27 r=%277%27/%3E%3Cpath d=%27m20 20-4-4%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%3E%3Ccircle cx=%2711%27 cy=%2711%27 r=%277%27/%3E%3Cpath d=%27m20 20-4-4%27/%3E%3C/svg%3E") center/14px 14px no-repeat}.plugin-search-input{width:100%;height:34px;padding:0 34px 0 32px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font:inherit;font-size:var(--font-size-sm)}.plugin-search-input:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 3px var(--focus-ring)}.plugin-search-clear{position:absolute;right:4px;display:none;align-items:center;justify-content:center;width:26px;min-width:26px;height:26px;min-height:26px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-muted);font-size:var(--font-size-lg);cursor:pointer}.plugin-search-clear.is-visible{display:inline-flex}.plugin-search-clear:hover{background:var(--line-soft);color:var(--text)}.plugin-search-filters{display:flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.plugin-search-filter{min-height:26px;padding:3px 8px;border:0;border-radius:5px;background:transparent;color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap}.plugin-search-filter:hover{color:var(--text)}.plugin-search-filter.is-active{background:var(--brand-soft);color:var(--brand);font-weight:600}.plugin-search-filter em{margin-left:3px;font-style:normal;opacity:.75}.plugin-search-count{margin-left:auto;color:var(--text-muted);font-size:var(--font-size-xs);white-space:nowrap}.plugin-search-empty{padding:26px 14px;color:var(--text-subtle);text-align:center}.plugin-search-update-all{white-space:nowrap}@media(max-width:720px){.plugin-search-toolbar{align-items:stretch;flex-wrap:wrap}.plugin-search-field{max-width:none;flex-basis:100%}.plugin-search-filters{max-width:100%;overflow-x:auto}.plugin-search-count{align-self:center}}
/* poll */
.poll-create-box,.poll-card{border:1px solid var(--line);background:var(--bg);border-radius:6px;margin:10px 0}
.poll-create-box{padding:10px 12px}
.poll-create-details{display:grid}
.poll-create-details summary{display:inline-flex;align-items:center;width:max-content;max-width:100%;color:var(--text);font-size:var(--font-size-md);font-weight:600;line-height:1.4;cursor:pointer;list-style:none}
.poll-create-details summary::-webkit-details-marker{display:none}
.poll-create-details summary:before{content:"";width:0;height:0;margin-right:8px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid currentColor;transition:transform .15s ease}
.poll-create-details[open] summary{color:var(--text)}
.poll-create-details[open] summary:before{transform:rotate(90deg)}
.poll-create-inner{display:grid;gap:10px;margin-top:8px}
.poll-create-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 8px}
.poll-more-options{display:grid;grid-column:1/-1;gap:6px;margin-top:3px}
.poll-more-options summary{width:max-content;max-width:100%;color:var(--brand);font-size:12px;cursor:pointer;list-style:none}
.poll-more-options summary::-webkit-details-marker{display:none}
.poll-more-options summary:hover{color:var(--brand-hover)}
.poll-more-options-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 8px;margin-top:6px}
.poll-create-question,.poll-option-input{height:34px;padding:0 9px;border-color:var(--line);background:var(--panel);font-size:12px}
.poll-create-question:focus,.poll-option-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--focus-ring)}
.poll-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.poll-control-card{display:grid;align-content:center;gap:5px;min-width:0;min-height:48px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text-muted);font-size:11px;line-height:1.3}
.poll-control-card:focus-within{border-color:var(--brand-soft);background:var(--success-soft)}
.poll-control-toggle{grid-template-columns:14px minmax(0,1fr);align-items:center;cursor:pointer}
.poll-control-toggle input{width:14px;height:14px;margin:0;padding:0;accent-color:var(--brand)}
.poll-control-toggle span{color:var(--text);font-size:12px}
.poll-control-number input[type=number]{width:100%;height:26px;padding:0 6px;border-color:var(--line);font-size:12px}
.poll-note{color:var(--text-muted);font-size:12px}
.poll-card{grid-column:1/-1;width:100%;box-sizing:border-box;overflow:hidden;box-shadow:0 4px 14px var(--shadow-medium)}
.poll-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px 8px}
.poll-kicker{margin-bottom:1px;color:var(--brand);font-size:11px;font-weight:700;line-height:1.3}
.poll-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:11px;font-weight:700;white-space:nowrap}
.poll-body{display:grid;gap:6px;padding:0 12px 10px}
.poll-form{display:grid;gap:6px}
.poll-choice{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:32px;padding:6px 0;color:var(--text);cursor:pointer}
.poll-choice+.poll-choice{border-top:1px solid var(--line-soft)}
.poll-choice:hover{background:transparent;color:var(--text)}
.poll-choice input{position:absolute;opacity:0;pointer-events:none}
.poll-choice-mark{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid var(--line);border-radius:999px;background:var(--panel);box-shadow:inset 0 0 0 3px var(--panel)}
.poll-choice.multi .poll-choice-mark{border-radius:4px}
.poll-choice input:checked+.poll-choice-mark{border-color:var(--brand);background:var(--brand)}
.poll-choice:has(input:checked){color:var(--text)}
.poll-choice.disabled{cursor:default;color:var(--text)}
.poll-choice.disabled:hover{background:transparent}
.poll-choice-text{min-width:0;word-break:break-word;overflow-wrap:anywhere}
.poll-result-row{display:grid;gap:5px;padding:6px 0}
.poll-result-row+.poll-result-row{border-top:1px solid var(--line-soft)}
.poll-result-row.selected{background:transparent}
.poll-result-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.poll-result-title{display:flex;align-items:center;gap:6px;min-width:0;color:var(--text);font-weight:400;word-break:break-word;overflow-wrap:anywhere}
.poll-picked{display:inline-flex;align-items:center;min-height:18px;padding:0 6px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:10px;font-weight:700;white-space:nowrap}
.poll-result-count{flex:0 0 auto;color:var(--text-muted);font-size:12px;white-space:nowrap}
.poll-bar{height:6px;background:var(--line);border-radius:999px;overflow:hidden}
.poll-bar span{display:block;height:100%;border-radius:999px;background:var(--brand)}
.poll-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:0 12px 10px;color:var(--text-muted);font-size:12px}
.poll-foot-main{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.poll-submit-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.poll-submit-row button,.poll-login-link,.poll-admin-action button{width:auto}
.poll-login-link{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:var(--radius-sm,4px);background:var(--brand);color:var(--inverse-text);font-weight:600}
.poll-login-link:hover{background:var(--brand-hover);color:var(--inverse-text)}
.poll-closed{color:var(--warning)}
.poll-admin-row{grid-template-columns:minmax(0,1fr) auto}.poll-admin-row .admin-row-meta span{min-width:0;overflow-wrap:anywhere}
@media(max-width:720px){.poll-admin-row{grid-template-columns:minmax(0,1fr)}.poll-admin-row .admin-inline-ops{grid-column:1;justify-content:flex-start;margin-left:0}}
@media (max-width:640px){.poll-create-box{margin:8px 0;padding:8px 10px}.poll-create-details summary,.poll-more-options summary{min-height:28px;display:inline-flex;align-items:center}.poll-create-details summary:before{flex:0 0 auto}.poll-create-options,.poll-more-options-body{grid-template-columns:1fr}.poll-create-question,.poll-option-input{width:100%;max-width:none;height:34px;font-size:13px}.poll-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.poll-control-card{min-height:46px;padding:6px 8px}.poll-card{margin:8px 0;box-shadow:0 3px 10px var(--shadow-medium)}.poll-head{display:grid;gap:4px;padding:9px 10px 7px}.poll-status{justify-self:start;min-height:0;padding:0;background:transparent;color:var(--text-subtle);font-size:11px;font-weight:400}.poll-body{padding:0 10px 9px}.poll-choice{grid-template-columns:16px minmax(0,1fr);gap:7px;min-height:34px}.poll-result-row{gap:4px}.poll-result-top{display:grid;gap:3px}.poll-result-title{display:block}.poll-picked{margin-left:0;margin-top:4px}.poll-result-count{justify-self:start;font-size:11px}.poll-foot{display:grid;gap:7px;padding:0 10px 9px}.poll-login-link{width:100%}.poll-submit-row{display:grid;gap:7px}.poll-submit-row button{width:100%;justify-self:stretch}}
    .poll-control-toggle{grid-template-columns:38px minmax(0,1fr)}
    .poll-control-toggle input[type=checkbox]{width:38px;height:22px;margin:0;padding:0}
/* related_topics */
.related-topics-panel{display:grid;gap:8px;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.related-topics-head,.related-topics-compose-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.related-topics-head span,.related-topics-compose-head span{color:var(--text-subtle);font-size:var(--font-size-xs)}.related-topics-panel ul,.related-topics-compose ul{display:grid;gap:0;margin:0;padding:0;list-style:none}.related-topics-panel li+li,.related-topics-compose li+li{border-top:1px solid var(--line-soft)}.related-topics-panel a,.related-topics-compose a{display:grid;gap:3px;padding:9px 0;color:var(--text)}.related-topics-panel a:hover strong,.related-topics-compose a:hover strong{color:var(--brand)}.related-topics-panel a span,.related-topics-compose a span{color:var(--text-muted);font-size:var(--font-size-xs)}.related-topics-compose{display:grid;gap:8px;margin:10px 0;padding:12px;border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-soft)}.related-topics-compose[hidden]{display:none}.related-topics-compose a{padding:7px 0}.related-topics-compose.is-loading{opacity:.7}@media(max-width:720px){.related-topics-head,.related-topics-compose-head{align-items:flex-start;flex-direction:column;gap:3px}}
/* 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}}
/* table_responsive */
.table-responsive-wrap{position:relative;max-width:100%;margin:14px 0;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel);overscroll-behavior-inline:contain}.table-responsive-wrap:focus-visible{outline:0;box-shadow:0 0 0 3px var(--focus-ring)}.table-responsive-wrap>table{width:max-content;min-width:100%;margin:0;border:0}.table-responsive-wrap.is-scrollable::after{content:"左右滑动查看";position:sticky;right:6px;bottom:4px;float:right;padding:2px 6px;border-radius:5px;background:var(--inverse);color:var(--inverse-text);font-size:var(--font-size-xs);pointer-events:none;opacity:.72}.table-responsive-wrap.has-scrolled::after{display:none}
/* 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_lock */
.topic-lock-list-badge{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:var(--line-soft);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.topic-lock-action-form{display:flex}.topic-lock-action,.topic-lock-state{padding:0;border:0;background:transparent}.topic-lock-action:before,.topic-lock-state:before{display:none}.topic-lock-action svg,.topic-lock-state svg{display:block;width:14px;height:14px}.topic-lock-action.is-locked,.topic-lock-state{color:var(--warning-text)}.topic-lock-title-badge{display:inline-flex;margin-left:8px;padding:2px 7px;border-radius:999px;background:var(--line-soft);color:var(--text-muted);font-size:var(--font-size-xs);vertical-align:middle}.topic-lock-reply-notice{padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-muted);font-size:var(--font-size-sm)}.topic-lock-disabled-form textarea,.topic-lock-disabled-form button[type="submit"]{display:none}
/* 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_review */
.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{color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere}.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-email-code-field{gap:8px;margin-top:12px}.user-review-email-suffix-hint{display:block;margin:0;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.5;overflow-wrap:anywhere}.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-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:var(--font-size-xs)}.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 .user-review-email-code-field{margin-top:12px}.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-profile-queue{display:grid;gap:10px;margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden}.user-review-profile-queue-head{display:flex;align-items:baseline;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.user-review-profile-queue-head strong{font-size:var(--font-size-md)}.user-review-profile-queue-head span{color:var(--text-muted);font-size:var(--font-size-xs)}.user-review-profile-queue>ul{margin:0;padding:0 14px;list-style:none}.user-review-profile-queue .post-item{gap:10px;padding:12px 0}.user-review-profile-queue-status{display:inline-flex;align-items:center;min-height:20px;margin-right:7px;padding:0 7px;border:1px solid var(--warning-soft);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-xs);font-weight:600;vertical-align:middle}.user-review-profile-queue-status.rejected{border-color:var(--danger-soft);background:var(--danger-soft);color:var(--danger)}.user-review-profile-queue-content{display:block;margin-top:3px;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.user-review-profile-queue-content details{margin-top:6px}.user-review-profile-queue-content summary{color:var(--brand);cursor:pointer;white-space:normal}.user-review-profile-queue-content details>div{margin-top:6px}.user-review-profile-queue-reason{margin:6px 0;padding:10px 9px;background:var(--danger-soft);color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.5;overflow-wrap:anywhere}.user-review-profile-queue-reason strong{color:var(--danger)}.user-review-profile-queue-edit,.user-review-profile-queue-delete{flex:0 0 auto;margin:0}.user-review-profile-queue-edit{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-xs);text-decoration:none}.user-review-profile-queue-edit:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.user-review-profile-queue-delete button{min-height:28px;padding:0 9px;font-size:var(--font-size-xs)}.user-review-reject-form{display:grid;gap:12px}.user-review-reject-form .grid{grid-template-columns:1fr;gap:5px;margin:0}.user-review-reject-form textarea{min-height:110px}@media(max-width:720px){.user-review-profile-queue>ul{padding:0 10px}}.user-review-content-toggle{position:relative}.user-review-content-check{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.user-review-review-content{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5}.user-review-content-check:checked~.user-review-review-content{display:block;overflow:visible}.user-review-content-toggle-label{display:inline-flex;margin-top:4px;color:var(--brand);font-size:var(--font-size-xs);line-height:1.4;cursor:pointer}.user-review-content-toggle-label:hover{color:var(--brand-hover)}.user-review-content-check:focus-visible~.user-review-content-toggle-label{outline:2px solid var(--focus-ring);outline-offset:2px}.user-review-content-collapse-label{display:none}.user-review-content-check:checked~.user-review-content-toggle-label .user-review-content-expand-label{display:none}.user-review-content-check:checked~.user-review-content-toggle-label .user-review-content-collapse-label{display:inline}.user-review-queue-overview-body{padding:12px}.user-review-queue-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.user-review-queue-stat{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid var(--line-soft);border-radius:6px;background:var(--bg);color:var(--text);text-decoration:none}.user-review-queue-stat:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--text)}.user-review-queue-stat.active{border-color:var(--brand);background:var(--brand-soft)}.user-review-queue-stat strong{font-size:var(--font-size-xl);line-height:1.1}.user-review-queue-stat span{font-size:var(--font-size-sm);font-weight:600;line-height:1.3}.user-review-queue-stat small{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.35}.user-review-queue-back{font-size:var(--font-size-sm);text-decoration:none}@media(max-width:720px){.user-review-queue-stats{grid-template-columns:1fr}}
/* video_player */
.bbs-video-wrap{
    margin:16px 0;
}
.bbs-video-player{
    width:100%;
    max-width:820px;
    border-radius:8px;
    background:#000000;
}
@media(max-width:768px){
    .bbs-video-player{
        max-width:100%;
    }
}
