:root { --discussion-blue: #2368d8; --discussion-ink: #11243f; --discussion-muted: #6a7b93; --discussion-line: #dbe6f2; --discussion-soft: #f5f8fc; }

.discussion-page { min-height: calc(100vh - 160px); padding: 46px var(--site-shell-gutter) 80px; background: #f7f9fc; color: var(--discussion-ink); }
.discussion-shell, .discussion-detail-shell { width: min(1180px, 100%); margin: 0 auto; }
.discussion-detail-shell { width: min(940px, 100%); }
.discussion-hero { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 28px; }
.discussion-kicker { color: var(--discussion-blue); font-size: .72rem; font-weight: 900; letter-spacing: .14em; }
.discussion-hero h1, .discussion-editor-shell h1 { margin: 8px 0 9px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.05; }
.discussion-hero p, .discussion-editor-shell header p { margin: 0; color: var(--discussion-muted); }
.discussion-primary { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 22px; border: 0; border-radius: 7px; color: #fff; background: var(--discussion-blue); font: inherit; font-weight: 800; cursor: pointer; }
.discussion-primary:hover { background: #1856b9; }
.discussion-alert { margin: 0 0 18px; padding: 13px 16px; border-radius: 7px; font-weight: 700; }
.discussion-alert.success { color: #166534; background: #e9f8ef; border: 1px solid #bde8ca; }
.discussion-alert.error { color: #a12424; background: #fff0f0; border: 1px solid #f3c4c4; }
.discussion-list-card, .discussion-thread-card, .discussion-replies, .discussion-reply-editor, .discussion-login-prompt, .discussion-locked-note { border: 1px solid var(--discussion-line); border-radius: 10px; background: #fff; box-shadow: 0 12px 38px rgba(35, 65, 105, .06); }
.discussion-login-action { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid #bdd2ee; border-radius: 7px; color: var(--discussion-blue); background: #fff; font-weight: 800; }.discussion-login-action:hover { border-color: var(--discussion-blue); background: #f1f6ff; }
.discussion-list-head { display: flex; align-items: center; justify-content: space-between; padding: 19px 24px; border-bottom: 1px solid var(--discussion-line); color: var(--discussion-muted); font-size: .8rem; }
.discussion-list-head div { display: flex; align-items: baseline; gap: 12px; }.discussion-list-head h2 { margin: 0; color: var(--discussion-ink); font-size: 1rem; }
.discussion-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) 108px; gap: 16px; align-items: center; padding: 22px 24px; border-bottom: 1px solid #edf2f7; }.discussion-row:last-child { border-bottom: 0; }
.discussion-avatar { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #2368d8, #51a7e8); font-weight: 900; }.discussion-avatar.large { width: 46px; height: 46px; }
.discussion-row-main h2 { margin: 3px 0 7px; font-size: 1.02rem; line-height: 1.45; }.discussion-row-main h2 a:hover { color: var(--discussion-blue); }.discussion-row-main p { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; color: var(--discussion-muted); font-size: .76rem; }.discussion-row-main p strong { color: #344861; }
.discussion-row-badges { display: flex; gap: 6px; min-height: 18px; }.discussion-pin, .discussion-lock { display: inline-flex; padding: 3px 7px; border-radius: 4px; font-size: .66rem; font-weight: 900; }.discussion-pin { color: #1558bd; background: #e8f1ff; }.discussion-lock { color: #7a5810; background: #fff6d9; }
.discussion-row-stats { display: grid; justify-items: end; color: var(--discussion-muted); font-size: .72rem; }.discussion-row-stats strong { color: var(--discussion-ink); font-size: 1.05rem; }.discussion-row-stats time { margin-top: 7px; }
.discussion-empty { padding: 64px 24px; text-align: center; }.discussion-empty strong { font-size: 1.15rem; }.discussion-empty p { color: var(--discussion-muted); }.discussion-empty a { color: var(--discussion-blue); font-weight: 800; }.discussion-empty.compact { padding: 34px; }
.discussion-pagination { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 24px 0 0; color: var(--discussion-muted); font-size: .84rem; }.discussion-pagination a { color: var(--discussion-blue); font-weight: 800; }
.discussion-back { display: inline-block; margin-bottom: 20px; color: var(--discussion-muted); font-size: .84rem; font-weight: 750; }.discussion-back:hover { color: var(--discussion-blue); }
.discussion-thread-card { padding: clamp(24px, 4vw, 46px); }.discussion-thread-meta { display: flex; align-items: center; gap: 12px; }.discussion-thread-meta div:nth-child(2) { display: grid; gap: 3px; margin-right: auto; }.discussion-thread-meta strong { font-size: .86rem; }.discussion-thread-meta span:not(.discussion-pin):not(.discussion-lock) { color: var(--discussion-muted); font-size: .74rem; }.discussion-thread-card h1 { margin: 30px 0 22px; font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1.25; }
.discussion-markdown { color: #273a52; font-size: .98rem; line-height: 1.85; overflow-wrap: anywhere; }.discussion-markdown > :first-child { margin-top: 0; }.discussion-markdown > :last-child { margin-bottom: 0; }.discussion-markdown pre { overflow: auto; padding: 16px; border-radius: 7px; background: #112038; color: #e9f2ff; }.discussion-markdown code { font-family: "SFMono-Regular", Consolas, monospace; }.discussion-markdown a { color: var(--discussion-blue); text-decoration: underline; }.discussion-markdown img { max-width: 100%; }
.discussion-item-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 26px; padding-top: 16px; border-top: 1px solid #edf2f7; color: var(--discussion-muted); font-size: .76rem; }.discussion-item-actions form { margin: 0; }.discussion-item-actions button, .discussion-item-actions summary { padding: 0; border: 0; color: var(--discussion-muted); background: transparent; font: inherit; font-weight: 750; cursor: pointer; }.discussion-item-actions a:hover, .discussion-item-actions button:hover, .discussion-item-actions summary:hover { color: var(--discussion-blue); }
.discussion-replies { margin-top: 22px; overflow: visible; }.discussion-replies-head { display: flex; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--discussion-line); }.discussion-replies-head h2 { margin: 0; font-size: 1.05rem; }.discussion-replies-head span { color: var(--discussion-muted); font-size: .78rem; }
.discussion-reply { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 15px; padding: 24px; border-bottom: 1px solid #edf2f7; }.discussion-reply:last-of-type { border-bottom: 0; }.discussion-reply-main header { display: flex; gap: 9px; color: var(--discussion-muted); font-size: .75rem; }.discussion-reply-main header strong { color: var(--discussion-ink); font-size: .82rem; }.discussion-reply-to { margin: 10px 0; color: var(--discussion-muted); font-size: .78rem; }.discussion-placeholder { margin-top: 13px; padding: 12px; border-radius: 6px; color: var(--discussion-muted); background: var(--discussion-soft); font-size: .82rem; }
.discussion-reply-editor, .discussion-locked-note { margin-top: 22px; padding: 25px; }.discussion-reply-editor h2, .discussion-locked-note strong { margin: 0; font-size: 1.05rem; }.discussion-reply-editor > p, .discussion-locked-note p { margin: 6px 0 15px; color: var(--discussion-muted); font-size: .8rem; }.discussion-reply-editor textarea, .discussion-inline-edit textarea { width: 100%; min-height: 130px; padding: 14px; resize: vertical; border: 1px solid var(--discussion-line); border-radius: 7px; font: inherit; line-height: 1.6; }.discussion-reply-editor form > div { display: flex; justify-content: flex-end; align-items: center; gap: 14px; margin-top: 12px; }.discussion-reply-editor form > div > button:first-child { border: 0; color: var(--discussion-muted); background: transparent; cursor: pointer; }
.discussion-login-prompt { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 22px; padding: 22px 25px; }.discussion-login-prompt strong { font-size: 1.02rem; }.discussion-login-prompt p { margin: 5px 0 0; color: var(--discussion-muted); font-size: .82rem; }
.discussion-report { position: relative; }.discussion-report form { position: absolute; z-index: 5; top: 24px; right: 0; display: grid; gap: 8px; width: min(320px, 75vw); padding: 14px; border: 1px solid var(--discussion-line); border-radius: 8px; background: #fff; box-shadow: 0 16px 38px rgba(20, 45, 80, .18); }.discussion-report select, .discussion-report textarea { width: 100%; padding: 9px; border: 1px solid var(--discussion-line); border-radius: 5px; font: inherit; }.discussion-report textarea { min-height: 72px; resize: vertical; }.discussion-report form button, .discussion-inline-edit button { min-height: 34px; padding: 0 13px; border: 0; border-radius: 5px; color: #fff; background: var(--discussion-blue); font-weight: 800; }
.discussion-inline-edit { display: grid; gap: 8px; width: min(600px, 75vw); margin-top: 10px !important; }.discussion-inline-edit textarea { min-height: 90px; }
.discussion-editor-page { padding-top: 54px; }.discussion-editor-shell { width: min(860px, 100%); margin: 0 auto; }.discussion-editor-shell header { margin-bottom: 25px; }.discussion-editor-card { display: grid; gap: 10px; padding: clamp(24px, 4vw, 42px); border: 1px solid var(--discussion-line); border-radius: 10px; background: #fff; box-shadow: 0 12px 38px rgba(35, 65, 105, .06); }.discussion-editor-card label { margin-top: 8px; font-weight: 850; }.discussion-editor-card label span { float: right; color: var(--discussion-muted); font-size: .72rem; font-weight: 600; }.discussion-editor-card input, .discussion-editor-card textarea { width: 100%; padding: 13px 14px; border: 1px solid var(--discussion-line); border-radius: 7px; font: inherit; }.discussion-editor-card textarea { min-height: 340px; resize: vertical; line-height: 1.65; }.discussion-editor-card input:focus, .discussion-editor-card textarea:focus, .discussion-reply-editor textarea:focus { border-color: #75a5ea; outline: 3px solid #e8f1ff; }.discussion-editor-tip { margin-top: 10px; padding: 14px 16px; border-radius: 7px; background: var(--discussion-soft); }.discussion-editor-tip strong { font-size: .78rem; }.discussion-editor-tip p { margin: 4px 0 0; color: var(--discussion-muted); font-size: .76rem; }.discussion-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 16px; margin-top: 12px; }.discussion-form-actions > a { color: var(--discussion-muted); font-size: .84rem; }
@media (max-width: 720px) { .discussion-page { padding: 28px 18px 56px; }.discussion-hero { align-items: stretch; flex-direction: column; }.discussion-primary, .discussion-login-action { width: 100%; }.discussion-row { grid-template-columns: 38px minmax(0, 1fr); padding: 18px 16px; }.discussion-row-stats { grid-column: 2; display: flex; justify-content: flex-start; gap: 5px; }.discussion-row-stats time { margin: 0 0 0 9px; }.discussion-list-head > span { display: none; }.discussion-thread-card { padding: 22px 18px; }.discussion-thread-meta { flex-wrap: wrap; }.discussion-reply { padding: 20px 16px; }.discussion-login-prompt { align-items: stretch; flex-direction: column; }.discussion-report form { position: fixed; top: 50%; right: 16px; left: 16px; width: auto; transform: translateY(-50%); }.discussion-editor-card { padding: 20px 16px; }.discussion-editor-card textarea { min-height: 280px; } }

.discussion-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
