:root{--muted:#626262;--forum-width:1160px;--z-modal:30;--z-toast:40} :root[data-theme=dark]{--muted:#aaa}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--muted:#aaa}}
[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:4px}button{border:1px solid var(--line-2);background:var(--surface);color:var(--ink);border-radius:6px;padding:8px 14px;font-size:13px;min-height:40px}button:hover{background:var(--surface-2)}.solid{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:600}.solid:hover{opacity:.85;background:var(--ink)}.quiet{border:0;background:transparent;padding:4px 8px;color:var(--muted);min-height:36px}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.skip-link{position:fixed;top:-100px;left:16px;z-index:50;background:var(--ink);color:var(--paper);padding:12px}.skip-link:focus{top:10px}
.forum-head{min-height:76px;padding:16px max(24px,calc((100vw - var(--forum-width))/2));border-bottom:1px solid var(--line);display:flex;align-items:center;gap:36px}.forum-brand{font-weight:650;font-size:19px;white-space:nowrap;text-decoration:none}.forum-brand span{font-weight:400;font-size:12px;margin-left:12px;color:var(--muted)}.forum-head nav{display:flex;gap:24px;font-size:13px;white-space:nowrap}.forum-head nav a{text-decoration:none;color:var(--muted)}.forum-head nav [aria-current]{color:var(--ink);font-weight:650}.forum-tools{display:flex;align-items:center;gap:12px;margin-left:auto}.forum-tools button{border:0;background:none;padding:4px;font-size:13px}.forum-tools .account{font-size:12px;gap:8px}.forum-tools .account-email{max-width:120px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#unread{display:inline-block;margin-left:5px;font-size:10px;background:var(--ink);color:var(--paper);padding:0 4px;border-radius:3px}
.forum-shell{width:min(var(--forum-width),calc(100% - 48px));margin:44px auto 70px;min-height:65vh}.forum-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:38px}.forum-intro h1{font-size:30px;font-weight:650;letter-spacing:-.02em;line-height:1.4;margin:0 0 8px;text-wrap:balance}.forum-intro p{font-size:14px;color:var(--muted);margin:0}.forum-columns{display:grid;grid-template-columns:190px minmax(0,1fr);gap:48px}.board-nav{display:flex;flex-direction:column;gap:5px}.board-nav a{padding:11px 12px;text-decoration:none;font-size:14px;border-left:2px solid transparent;display:flex;justify-content:space-between;gap:12px}.board-nav a[aria-current]{background:var(--surface-2);border-left-color:var(--ink);font-weight:600}.board-nav small{color:var(--muted);font-weight:400}.sidebar-note{border-top:1px solid var(--line);padding-top:22px;margin:26px 12px 0;font-size:12px;color:var(--muted);line-height:1.9}.sidebar-note strong{display:block;color:var(--ink);font-weight:550;margin-bottom:5px}.discussion-search{display:flex;gap:10px;align-items:center;margin-bottom:18px}.discussion-search input{min-width:0;flex:1;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;color:var(--ink);padding:10px 12px;font-size:13px}.discussion-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line);padding:0 0 12px}.topics{list-style:none;padding:0;margin:0}.topic-row{display:grid;grid-template-columns:minmax(0,1fr) 62px 85px;gap:20px;padding:23px 0;border-bottom:1px solid var(--line);align-items:center}.topic-row h2{font-size:16px;line-height:1.6;font-weight:550;margin:0 0 7px;overflow-wrap:anywhere}.topic-row h2 a{text-decoration:none}.topic-row h2 a:hover{text-decoration:underline}.topic-byline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.topic-count{text-align:center;font-variant-numeric:tabular-nums;font-size:15px}.topic-count small{display:block;font-size:11px;color:var(--muted)}.topic-date{font-size:12px;color:var(--muted);text-align:right;white-space:nowrap}.tag{font-size:10px;font-weight:500;border:1px solid var(--line-2);padding:2px 5px;border-radius:3px;margin-right:8px;white-space:nowrap}.empty-forum{padding:66px 20px;text-align:center;border-bottom:1px solid var(--line)}.empty-forum h2{font-size:21px;font-weight:550;margin:0 0 10px}.empty-forum p{font-size:14px;color:var(--muted);max-width:42ch;margin:0 auto 24px}.pagination{display:flex;gap:16px;justify-content:center;align-items:center;margin:28px 0;font-size:12px;color:var(--muted)}.loading{color:var(--muted);font-size:14px}.error-state{padding:36px 0}.error-state h1{font-size:24px}.error-state p{color:var(--muted);font-size:14px}.forum-foot{width:min(var(--forum-width),calc(100% - 48px));margin:0 auto 24px;border-top:1px solid var(--line);padding-top:20px;display:flex;flex-wrap:wrap;gap:14px 24px;font-size:12px;color:var(--muted)}.forum-foot>span{margin-right:auto}.notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:6px;font-size:13px;max-width:calc(100vw - 32px);z-index:var(--z-toast)}
.topic-view{max-width:820px;margin:0 auto}.breadcrumb{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-bottom:24px}.topic-heading{padding-bottom:26px;border-bottom:1px solid var(--line)}.topic-heading h1{font-size:28px;line-height:1.5;letter-spacing:-.02em;font-weight:600;margin:12px 0;overflow-wrap:anywhere}.topic-heading .button-row{margin-top:18px}.post{border-bottom:1px solid var(--line);padding:28px 0;scroll-margin-top:24px}.post:target{border-left:2px solid var(--ink);padding-left:18px}.post-head{display:flex;align-items:center;gap:12px;font-size:13px;margin-bottom:18px}.post-avatar{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;font-size:15px}.post-author{font-weight:600}.post-time{font-size:11px;color:var(--muted);margin-left:auto}.post-body{font-size:15px;line-height:1.9;max-width:72ch;overflow-wrap:anywhere}.post-body p{margin:0 0 14px}.post-body h2{font-size:21px;margin:24px 0 12px}.post-body h3,.post-body h4{font-size:18px}.post-body blockquote{margin:18px 0;padding:4px 18px;border-left:2px solid var(--line-2);color:var(--muted)}.post-body blockquote p:last-child{margin-bottom:0}.post-body pre{padding:16px;background:var(--surface-2);overflow:auto;border:1px solid var(--line);border-radius:5px;font-size:13px;max-width:100%}.post-body code{font-family:ui-monospace,Consolas,monospace}.post-body table{display:block;overflow:auto;border-collapse:collapse;max-width:100%;font-size:13px}.post-body td,.post-body th{border:1px solid var(--line);padding:6px 12px}.post-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.post-actions button{font-size:12px}.reply-reference{font-size:12px;margin:0 0 12px;background:var(--surface-2);padding:10px 12px;color:var(--muted)}.post-images{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.post-images a{display:block;width:min(220px,100%)}.post-images img{display:block;max-width:100%;height:150px;object-fit:contain;border:1px solid var(--line);border-radius:5px;background:var(--surface-2)}.topic-end{margin:28px 0;padding:22px;background:var(--surface-2);display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px}.deleted-post{color:var(--muted);font-size:13px}.nested-post{padding-left:24px;border-left:2px solid var(--line)}
dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line-2);border-radius:10px;max-height:92dvh}dialog::backdrop{background:#0008}.editor-dialog{padding:0;width:min(720px,calc(100% - 24px))}.editor-dialog form{padding:28px}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:22px}.dialog-head h2{font-size:21px;margin:0}.dialog-head p{font-size:12px;color:var(--muted);margin:4px 0}.editor-dialog label:not(.upload-label){display:block;font-size:13px;margin:15px 0 7px}.editor-dialog input:not([type=file]),.editor-dialog select,.editor-dialog textarea,.settings-form input:not([type=checkbox]){width:100%;border:1px solid var(--line-2);border-radius:5px;background:var(--paper);color:var(--ink);padding:10px 12px;font-size:14px;min-height:42px}.editor-dialog textarea{resize:vertical;line-height:1.8}.field-help{font-size:12px;color:var(--muted);font-weight:400;margin-left:6px}input::placeholder,textarea::placeholder{color:var(--muted)}.editor-tools{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.editor-tools>span{font-size:11px;color:var(--muted)}.upload-label{position:relative;border:1px solid var(--line-2);padding:7px 12px;border-radius:4px;font-size:12px;cursor:pointer;overflow:hidden}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-label:focus-within{outline:2px solid var(--ink)}.editor-footer{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:26px}.editor-footer>span{font-size:12px;color:var(--muted)}.image-previews{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.image-preview{width:96px}.image-preview img{width:96px;height:72px;object-fit:cover;border:1px solid var(--line);border-radius:4px}.image-preview button{padding:2px;font-size:11px;min-height:28px;border:0;width:100%}.form-error{font-size:13px;border-left:2px solid var(--ink);padding:8px 12px}.reply-target{background:var(--surface-2);padding:10px 12px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.confirm-dialog{width:min(420px,calc(100% - 32px));padding:24px}.confirm-dialog h2{font-size:20px;margin:0 0 12px}.confirm-dialog p{font-size:14px}.confirm-dialog .button-row{justify-content:end;margin-top:24px}.settings-view{max-width:660px;margin:0 auto}.settings-view h1{font-size:27px}.settings-form{display:grid;gap:16px;margin-top:28px}.settings-form label{font-size:14px}.settings-form small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.settings-form input[type=checkbox]{accent-color:var(--ink);margin-right:10px}.settings-form button{justify-self:start}.notification-row{border-bottom:1px solid var(--line);padding:22px 0}.notification-row a{text-decoration:none;font-size:15px}.notification-row p{font-size:12px;color:var(--muted);margin:6px 0}.notification-row.unread{border-left:2px solid var(--ink);padding-left:15px}.admin-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.admin-item{padding:22px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.admin-item h2{font-size:16px;margin:0 0 8px}.admin-item p{white-space:pre-wrap;max-height:200px;overflow:auto}.admin-item .button-row{margin-top:12px}.prose{max-width:68ch;font-size:14px;line-height:1.9}.prose h2{font-size:20px;margin-top:30px}.prose li{margin:8px 0}.modal{z-index:var(--z-modal)}.modal-card .field-help{margin:14px 0 0}.modal-card a{text-decoration:underline}
@media(max-width:800px){.forum-head{padding:14px 20px;gap:20px;flex-wrap:wrap}.forum-brand span{display:none}.forum-head nav{gap:18px}.forum-tools{gap:10px}.forum-columns{grid-template-columns:minmax(0,1fr);gap:24px}.board-nav{flex-direction:row;overflow-x:auto;min-width:0;padding-bottom:6px}.board-nav a{white-space:nowrap;border-left:0;border-bottom:2px solid transparent;padding:8px 12px}.board-nav a[aria-current]{border-bottom-color:var(--ink)}.sidebar-note{display:none}.forum-shell{margin-top:30px;width:calc(100% - 40px)}.forum-intro{margin-bottom:26px}.forum-intro h1{font-size:26px}.topic-row{gap:12px;grid-template-columns:minmax(0,1fr) 45px 68px}.topic-date{font-size:11px}.forum-foot{width:calc(100% - 40px)}}
@media(max-width:480px){.forum-head{gap:12px;padding:12px 16px}.forum-head nav{order:3;flex-basis:100%;border-top:1px solid var(--line);padding-top:10px}.forum-brand{font-size:17px}.forum-tools .account-email{display:none}.forum-shell{width:calc(100% - 32px);margin-top:28px}.forum-intro{align-items:start;gap:12px}.forum-intro h1{font-size:24px}.forum-intro p{font-size:12px;max-width:22ch}.forum-intro .solid{white-space:nowrap;font-size:12px;padding:8px 12px}.topic-row{grid-template-columns:minmax(0,1fr) 38px;gap:12px;padding:19px 0}.topic-date{display:none}.topic-row h2{font-size:15px}.topic-heading h1{font-size:23px}.post-time{font-size:10px}.post-body{font-size:14px}.nested-post{padding-left:14px}.editor-dialog form{padding:20px}.dialog-head button{font-size:11px;padding:5px 8px}.editor-footer{align-items:start}.editor-footer>span{max-width:16ch}.field-help{display:block;margin-left:0;font-size:11px}.topic-end{padding:16px;font-size:12px}.forum-foot{width:calc(100% - 32px);gap:10px 18px}.forum-foot>span{flex-basis:100%}.post-images a{width:min(160px,100%)}.post-images img{height:110px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,color .15s,opacity .15s}.notice{animation:appear .16s ease-out}@keyframes appear{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}}

.forum-head nav{align-items:center}.forum-brand{display:inline-flex;align-items:center;min-height:40px}.forum-head nav a{display:inline-flex;align-items:center;min-height:40px}.profile-overview{display:flex;gap:22px;align-items:center}.profile-avatar{width:80px;height:80px;object-fit:cover;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);font-size:28px;flex-shrink:0}.profile-overview p{font-size:12px;color:var(--muted);margin:6px 0}.profile-overview input[type=file]{font-size:12px;max-width:100%}.editor-dialog{width:min(1000px,calc(100% - 24px))}.final-preview{padding:20px;border:1px solid var(--line);margin-top:16px}.toastui-editor-defaultUI{color:#222;background:#fff}.toastui-editor-defaultUI button{min-height:0}.toastui-editor-defaultUI .toastui-editor-mode-switch{height:auto;min-height:32px}.toastui-editor-defaultUI .toastui-editor-mode-switch .tab-item{height:auto;min-height:30px}.forum-skeleton{padding-top:8px}.skeleton-title,.skeleton-line,.skeleton-sidebar,.skeleton-row{background:var(--surface-2);border-radius:5px}.skeleton-title{height:36px;width:min(340px,80%);margin-bottom:18px}.skeleton-line{height:14px;width:70%;margin-bottom:12px}.skeleton-line.short{width:36%}.skeleton-columns{display:grid;grid-template-columns:190px 1fr;gap:48px;margin-top:36px}.skeleton-sidebar{height:260px}.skeleton-row{height:98px;margin:16px 0;padding:20px;border-bottom:1px solid var(--line)}.skeleton-row .skeleton-line{background:var(--line)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:700px){.skeleton-columns{grid-template-columns:1fr;gap:0}.skeleton-sidebar{display:none}.profile-overview{align-items:start;gap:14px}}@media(prefers-reduced-motion:no-preference){.forum-skeleton{animation:skeleton-pulse 1.6s ease-in-out infinite alternate}@keyframes skeleton-pulse{to{opacity:.55}}}
.toastui-editor-dark.toastui-editor-defaultUI{background:#17191d;color:#e5e7eb}.toastui-editor-defaultUI input{color:inherit}.editor-dialog form{overflow:visible}#newTopic{min-height:46px;padding:12px 22px;font-size:14px}#richEditor{color-scheme:light}#richEditor:has(.toastui-editor-dark){color-scheme:dark}

/* 编辑器弹窗：普通 fixed 覆盖层（不再用原生 <dialog>）。
   原生 dialog 会进入浏览器 top layer，z-index 再大也压不过它；极验的 .geetest_panel
   （z-index 2147483647，挂在 body 下）会被整块盖住 → 看不见、点不到、回调不触发，
   发布按钮一直保持 disabled，表现成「发不出去 / 无法回复」。
   换成普通层叠后，极验面板正常显示在表单上方。 */
.editor-dialog{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;width:auto;max-height:none;padding:24px;overflow:auto;background:transparent;border:0}
.editor-dialog[hidden]{display:none}
.editor-scrim{position:fixed;inset:0;z-index:0;background:#0008}
.editor-card{position:relative;z-index:1;width:min(1000px,100%);max-height:92dvh;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line-2);border-radius:10px}
.editor-card form{padding:28px}
html.modal-open,html.modal-open body{overflow:hidden}
@media(max-width:480px){.editor-dialog{padding:12px}.editor-card{width:100%;max-height:96dvh}.editor-card form{padding:20px}}
