.community-main { padding-bottom: 90px; }
.community-hero { display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:end; gap:65px; padding:65px 0 58px; }
.community-hero h1 { margin:0; font:800 clamp(48px,6.2vw,80px)/1.04 "STKaiti","KaiTi",serif; letter-spacing:-.05em; }
.community-hero h1 em { color:var(--green); font-style:normal; }
.community-hero > div > p:last-child { max-width:700px; margin:22px 0 0; color:var(--muted); line-height:1.85; }
.request-ticket { position:relative; padding:29px; background:#f6d86d; border:1px solid var(--ink); box-shadow:8px 9px 0 var(--ink); transform:rotate(-1.2deg); }
.request-ticket::before,.request-ticket::after { content:""; position:absolute; left:-7px; width:13px; height:13px; background:var(--paper); border:1px solid var(--ink); border-radius:50%; }.request-ticket::before { top:40px; }.request-ticket::after { bottom:40px; }
.request-ticket span { font:800 9px monospace; letter-spacing:.14em; }.request-ticket strong { display:block; margin:22px 0 10px; font:750 23px "STKaiti","KaiTi",serif; }.request-ticket p { margin:0; color:#665a22; font-size:11px; line-height:1.75; }
.community-layout { display:grid; grid-template-columns:380px minmax(0,1fr); gap:28px; align-items:start; }
.community-form { position:sticky; top:18px; display:grid; gap:16px; padding:27px; background:var(--card); border:1px solid var(--ink); box-shadow:5px 6px 0 rgba(24,32,28,.14); }
.community-form h2,.community-feed h2 { margin:0; font:800 30px "STKaiti","KaiTi",serif; }.community-form > div > p:last-child { margin:7px 0 0; color:var(--muted); font-size:11px; }
.community-form label { display:grid; gap:6px; font-size:10px; font-weight:750; }.community-form input,.community-form select,.community-form textarea { width:100%; padding:10px; border:1px solid var(--line); background:var(--paper); outline:0; }.community-form textarea { resize:vertical; line-height:1.7; }.community-form input:focus,.community-form select:focus,.community-form textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(29,98,69,.12); }.community-form label small { color:var(--muted); text-align:right; font:9px monospace; }
.website-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-result { min-height:18px; margin:0; color:var(--green); font-size:11px; }.form-result.error { color:#a63429; }.form-rule { color:var(--muted); font-size:9px; line-height:1.65; }
.community-feed { min-width:0; }
.community-feed > header { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:2px 0 18px; border-bottom:1px solid var(--ink); }.community-feed > header > span { color:var(--muted); font:700 9px monospace; }
.feed-filters { display:flex; gap:7px; padding:17px 0; }.feed-filters button { padding:7px 13px; border-radius:99px; background:transparent; }.feed-filters button.active { color:#fff; background:var(--ink); border-color:var(--ink); }
.community-list { display:grid; gap:10px; }
.comment-card { position:relative; display:grid; grid-template-columns:54px minmax(0,1fr); gap:16px; padding:21px; background:rgba(255,253,247,.84); border:1px solid var(--line); animation:comment-in .35s ease both; animation-delay:calc(var(--comment-index) * 40ms); }
@keyframes comment-in { from { opacity:0; transform:translateY(7px); } }
.comment-avatar { display:grid; place-items:center; width:48px; height:48px; color:var(--green); background:var(--paper); border:1px solid var(--ink); border-radius:48% 52% 44% 56%; font:800 16px "STKaiti","KaiTi",serif; }
.comment-head { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }.comment-head strong { font:750 15px "STKaiti","KaiTi",serif; }.comment-type { padding:3px 7px; border:1px solid var(--line); border-radius:99px; color:var(--orange); font:700 8px monospace; }.comment-time { margin-left:auto; color:var(--muted); font:9px monospace; }
.comment-card p { margin:9px 0 0; color:#38423c; font-size:12px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.community-empty { min-height:260px; display:grid; place-items:center; padding:30px; color:var(--muted); border:1px dashed var(--line); text-align:center; line-height:1.8; }
/* 帖子 + 评论布局 */
.thread-side { position:sticky; top:18px; align-self:start; display:grid; gap:14px; }
.thread-side-head h2 { margin:0; font:800 30px "STKaiti","KaiTi",serif; }
.thread-list { display:grid; gap:8px; }
.thread-item { display:grid; gap:4px; padding:13px 15px; text-align:left; background:var(--card); border:1px solid var(--line); border-left:3px solid transparent; border-radius:var(--radius); cursor:pointer; transition:border-color .15s ease, background .15s ease, transform .15s ease; }
.thread-item:hover { border-color:var(--ink); background:#fff; transform:translateX(2px); }
.thread-item.active { border-left-color:var(--orange); background:var(--card); border-color:var(--ink); box-shadow:2px 3px 0 var(--ink); }
.thread-item strong { font:750 15px "STKaiti","KaiTi",serif; }
.thread-item small { color:var(--muted); font:700 9px monospace; }
.admin-thread-box { display:grid; gap:9px; padding:16px; background:var(--paper-deep); border:1px dashed var(--ink); }
.admin-thread-box label { display:grid; gap:5px; font-size:10px; font-weight:750; }
.admin-thread-box input { width:100%; padding:8px 9px; border:1px solid var(--line); background:var(--card); }
.thread-detail { min-width:0; display:grid; gap:16px; }
.thread-head { padding-bottom:14px; border-bottom:1px solid var(--ink); }
.thread-head h2 { margin:0; font:800 28px "STKaiti","KaiTi",serif; }
.thread-head p:last-child { margin:8px 0 0; color:var(--muted); font-size:12px; line-height:1.7; }
.community-form { position:static; }
.community-login { padding:22px; text-align:center; color:var(--muted); background:var(--paper); border:1px dashed var(--line); font-size:13px; }
.community-login a { color:var(--green); font-weight:700; }
@media(max-width:850px){.community-hero{grid-template-columns:1fr}.request-ticket{width:min(430px,94%);margin-left:auto}.community-layout{grid-template-columns:1fr}.community-form{position:static}.comment-time{width:100%;margin-left:0}.thread-side{position:static}}
@media(max-width:520px){.community-hero{padding:48px 0}.community-hero h1{font-size:46px}.community-form{padding:21px}.comment-card{grid-template-columns:42px 1fr;padding:16px}.comment-avatar{width:39px;height:39px}.feed-filters{flex-wrap:wrap}}
