/* 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 auto;align-items:start;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-status{max-width:220px;color:var(--text-subtle);font-size:11px;line-height:1.4;text-align:right;overflow-wrap:anywhere}.attachment-upload-remove{display:grid;place-items:center;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}}
/* auto_upgrade */
.auto-upgrade-settings{max-width:none}.auto-upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.auto-upgrade-section{display:grid;align-content:start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.auto-upgrade-section>strong{font-size:12px}.auto-upgrade-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.auto-upgrade-section .grid{min-width:0;margin:0}.auto-upgrade-section input{max-width:none}.auto-upgrade-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.auto-upgrade-actions .post-action-form{margin:0}.auto-upgrade-actions button{margin:0!important}.auto-upgrade-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.auto-upgrade-status span{display:grid;gap:4px;min-width:0;padding:10px 12px;border:1px solid var(--line-soft);border-radius:6px;background:var(--bg);overflow-wrap:anywhere}.auto-upgrade-status small{color:var(--text-muted);font-size:11px}@media(max-width:680px){.auto-upgrade-grid,.auto-upgrade-times,.auto-upgrade-status{grid-template-columns:1fr}.auto-upgrade-actions{align-items:stretch;flex-direction:column}.auto-upgrade-actions .post-action-form{display:flex!important;width:100%}.auto-upgrade-actions button{width:100%}}
/* 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%}}
/* 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))}}
/* 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}.post-head:has(.like-coin-form){padding-right:104px}.topic-post-list .post-head.has-floor:has(.like-coin-form){padding-right:140px}.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-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:38px;height:22px;flex:0 0 38px;margin:0}.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){.post-head:has(.like-coin-form){padding-right:110px}.topic-post-list .post-head.has-floor:has(.like-coin-form){padding-right:146px}}
/* markdown_textarea */
.markdown-textarea[data-markdown-textarea]{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:0;padding:5px;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: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}
.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>.grid{display:contents}
.markdown-textarea-field>.grid>span{order:1;margin-bottom:6px}
.markdown-textarea-field>[data-markdown-textarea]{order:2;border-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--bg)}
.markdown-textarea-field>.grid>textarea[name=body]{order:3;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]{gap:2px;padding:4px}.markdown-textarea[data-markdown-textarea] button{min-width:28px;height:28px;padding:0 6px}}
/* 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}}
