@charset "UTF-8";
:root { color-scheme: light; --bg: #edf0f3; --panel: #fff; --alt: #f8f9fb; --line: #d5dbe1; --soft-line: #e7ebef; --text: #303b47; --muted: #667587; --link: #405b78; --bar: #f6f7f9; --field: #fff; --hover: #f3f6f9; font: 16px Arial, Helvetica, sans-serif; }
* { box-sizing: border-box; }
body { margin: 0px; background: var(--bg); color: var(--text); line-height: 1.55; }
button, input, textarea, select { font: inherit; }
button { color: var(--link); background: none; border: 0px; cursor: pointer; padding: 0px; }
a { color: var(--link); text-decoration: none; }
button:hover, a:hover { text-decoration: underline; }
button:focus-visible, a:focus-visible { outline: 2px solid #6c90b5; outline-offset: 3px; }
button:focus:not(:focus-visible), a:focus:not(:focus-visible) { outline: none; box-shadow: none; }
html[data-input-mode="pointer"] button:focus, html[data-input-mode="pointer"] a:focus { outline: none; }
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
input, textarea, select { color: var(--text); background: var(--field); border: 1px solid rgb(189, 199, 209); border-radius: 2px; padding: 8px 10px; width: 100%; max-width: 100%; }
input:focus, textarea:focus, select:focus { outline: 1px solid #6c90b5; outline-offset: 0px; }
textarea { resize: vertical; min-height: 150px; }
.icon-library { position: absolute; width: 0px; height: 0px; overflow: hidden; }
.icon { width: 23px; height: 23px; fill: none; stroke: currentcolor; stroke-width: 1.6; stroke-linecap: square; stroke-linejoin: miter; vertical-align: middle; flex-shrink: 0; }
.icon.small { width: 14px; height: 14px; }
.skip-link { position: fixed; top: -60px; left: 10px; padding: 10px; background: var(--panel); z-index: 50; }
.skip-link:focus { top: 5px; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; padding: 5px; }
.icon-button:hover { text-decoration: none; background: rgba(255, 255, 255, 0.05); }
main { max-width: 1420px; padding: 0px 22px; margin: auto; }
.breadcrumb { display: flex; align-items: center; gap: 10px; font-size: 14px; padding: 18px 0px 9px; color: var(--muted); }
.breadcrumb strong { font-weight: 400; color: rgb(105, 119, 134); }
.breadcrumb>span { color: rgb(156, 166, 176); }
.page-heading { display: flex; align-items: center; justify-content: space-between; margin: 0px 0px 15px; gap: 12px; }
h1 { font-size: 28px; font-weight: 400; line-height: 1.3; margin: 0px; }
.heading-actions { display: flex; gap: 7px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 29px; padding: 5px 11px; color: rgb(81, 100, 121); background: var(--panel); border: 1px solid rgb(189, 201, 213); border-radius: 2px; font-size: 14px; }
.button:hover { background: var(--hover); text-decoration: none; }
.button-primary { background: rgb(69, 95, 121); border-color: rgb(59, 82, 106); color: rgb(255, 255, 255); }
.button-primary:hover { background: rgb(55, 79, 104); color: rgb(255, 255, 255); }
.board-notice { display: flex; align-items: center; gap: 14px; padding: 11px 14px; background: var(--panel); border-left: 3px solid rgb(118, 141, 164); border-radius: 2px; margin: 0px 0px 19px; font-size: 14px; }
.board-notice strong { font-size: 14px; font-weight: 600; color: rgb(76, 97, 120); }
.board-notice>span { color: var(--muted); }
.board-notice>button:not(.notice-close) { margin-left: auto; white-space: nowrap; }
.board-notice .notice-close { color: rgb(151, 163, 176); font-size: 20px; line-height: 1; margin-left: 7px; }
.content-layout { display: grid; grid-template-columns: minmax(0,1fr) 268px; gap: 20px; align-items: start; }
.primary-content { min-width: 0px; }
.forum-group { margin-bottom: 19px; border: 1px solid var(--line); border-radius: 2px; background: var(--panel); overflow: hidden; }
.section-bar { display: flex; align-items: center; gap: 12px; min-height: 36px; padding: 9px 13px; background: var(--bar); border-top: 3px solid rgb(83, 106, 130); border-bottom: 1px solid var(--line); }
.section-bar h2 { font-size: 16px; font-weight: 600; margin: 0px; color: rgb(64, 84, 106); line-height: 1.2; }
.section-bar>span { font-size: 13px; margin-left: auto; color: var(--muted); }
.forum-group .section-bar>span { padding-right: 222px; font-size: 12px; }
.category-row { display: flex; align-items: center; gap: 13px; min-height: 86px; border-bottom: 1px solid var(--soft-line); padding: 14px 15px; }
.category-row:last-child { border-bottom: 0px; }
.category-row:hover { background: var(--alt); }
.node-icon { display: flex; align-items: center; justify-content: center; width: 33px; flex-shrink: 0; color: rgb(100, 125, 148); }
.node-icon.read { color: rgb(166, 177, 188); }
.node-icon .icon { width: 25px; height: 25px; stroke-width: 1.35; }
.category-text { flex: 1 1 0%; min-width: 0px; }
.category-text>button { display: block; font-size: 16px; font-weight: 600; text-align: left; color: rgb(64, 88, 117); }
.category-text p { font-size: 14px; color: var(--muted); margin: 5px 0px 6px; line-height: 1.4; }
.subcategories { display: flex; flex-wrap: wrap; gap: 10px; }
.subcategories button { font-size: 13px; color: rgb(90, 109, 130); }
.subcategories button:before { content: "›"; color: rgb(162, 173, 183); margin-right: 4px; }
.category-stat { display: flex; flex-direction: column; gap: 3px; text-align: right; font-size: 14px; min-width: 58px; margin-left: 12px; color: rgb(107, 123, 139); font-variant-numeric: tabular-nums; }
.category-stat strong { font-weight: 400; color: rgb(67, 87, 110); }
.last-post { border-left: 1px solid var(--soft-line); padding-left: 15px; margin-left: 9px; display: flex; flex-direction: column; gap: 4px; width: 205px; min-width: 0px; font-size: 13px; }
.last-post>button { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left; font-size: 14px; color: rgb(80, 105, 129); }
.last-post>span { font-size: 13px; color: var(--muted); }
.discussions { border: 1px solid var(--line); border-radius: 2px; background: var(--panel); scroll-margin-top: 15px; overflow: hidden; }
.discussion-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: var(--alt); padding: 9px 12px; border-bottom: 1px solid var(--line); }
.tabs { display: flex; gap: 3px; }
.tab { font-size: 14px; color: rgb(117, 131, 147); padding: 5px 9px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; white-space: nowrap; }
.tab.active { border-bottom-color: var(--link); color: var(--link); background: transparent; }
.search { display: flex; align-items: center; gap: 7px; color: rgb(139, 152, 166); border: 1px solid rgb(200, 209, 218); background: var(--field); border-radius: 2px; width: 207px; padding: 5px 8px; min-height: 28px; }
.search input { padding: 0px; border: 0px; background: none; outline: none; width: 100%; min-width: 0px; font-size: 14px; }
.search:focus-within { outline: 1px solid #6c90b5; }
.search input:focus { outline: none; }
.thread-columns { display: grid; grid-template-columns: 1fr 60px 65px; gap: 8px; padding: 6px 43px 6px 48px; border-bottom: 1px solid var(--soft-line); background: var(--alt); font-size: 12px; color: rgb(138, 151, 165); }
.thread-columns>span:not(:first-child) { text-align: right; }
.thread-row { display: flex; align-items: center; gap: 10px; min-height: 67px; padding: 12px 13px; border-bottom: 1px solid var(--soft-line); }
.thread-row:hover { background: var(--alt); }
.avatar { width: 25px; height: 28px; background: rgb(232, 237, 242); border: 1px solid rgb(214, 222, 230); color: rgb(124, 141, 158); display: grid; place-items: center; flex-shrink: 0; font-size: 13px; font-weight: 400; border-radius: 2px; }
.avatar.lavender, .avatar.amber, .avatar.blue { color: rgb(124, 141, 158); background: rgb(232, 237, 242); }
.thread-body { min-width: 0px; flex: 1 1 0%; }
.thread-title { display: flex; align-items: center; gap: 5px; line-height: 1.5; font-size: 16px; color: rgb(67, 93, 121); font-weight: 500; text-align: left; }
.thread-title .icon { width: 11px; height: 11px; color: rgb(120, 144, 99); }
.thread-meta { font-size: 13px; color: var(--muted); display: flex; flex-wrap: wrap; gap: 5px; align-items: center; margin-top: 5px; }
.thread-tag { font-size: 12px; border: 1px solid rgb(217, 225, 233); border-radius: 2px; background: rgb(240, 243, 246); color: rgb(108, 127, 146); padding: 0px 4px; }
.thread-numbers { display: flex; gap: 8px; font-size: 14px; color: rgb(111, 127, 144); font-variant-numeric: tabular-nums; align-items: center; flex-shrink: 0; }
.thread-numbers>span { width: 60px; text-align: right; display: inline-block; }
.thread-numbers .icon { display: none; }
.thread-numbers>span.views { width: 65px; }
.bookmark-button { margin-left: 4px; color: rgb(176, 186, 196); padding: 3px; }
.bookmark-button[aria-pressed="true"] { color: rgb(77, 111, 145); }
.bookmark-button[aria-pressed="true"] .icon { fill: rgba(77, 111, 145, 0.133); }
.reset-filter { font-size: 13px; margin-left: auto; }
.load-more { display: block; width: 100%; padding: 10px; text-align: center; font-size: 14px; background: var(--alt); color: rgb(108, 127, 147); }
.empty-state { padding: 30px 20px; color: var(--muted); font-size: 16px; text-align: center; }
.rail-block { margin-bottom: 18px; border: 1px solid var(--line); background: var(--panel); border-radius: 2px; overflow: hidden; }
.rail-block h2 { font-size: 14px; font-weight: 600; color: rgb(77, 100, 124); border-top: 3px solid rgb(111, 141, 172); border-bottom: 1px solid var(--soft-line); background: var(--bar); margin: 0px; padding: 9px 12px; text-transform: uppercase; }
.rail-body { padding: 12px; }
.board-info { display: grid; grid-template-columns: 1fr auto; gap: 7px 10px; font-size: 14px; margin: 0px; color: var(--muted); }
.board-info dd { margin: 0px; color: rgb(82, 105, 128); text-align: right; }
.rail-links { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.rail-body>.rail-links { border-top: 1px solid var(--soft-line); margin-top: 13px; padding-top: 11px; }
.rail-links button { font-size: 14px; text-align: left; }
.recent-post { padding-bottom: 11px; margin-bottom: 11px; border-bottom: 1px solid var(--soft-line); font-size: 13px; }
.recent-post:last-child { padding-bottom: 0px; margin-bottom: 0px; border: 0px; }
.recent-post>button { display: block; font-size: 14px; line-height: 1.5; text-align: left; color: rgb(81, 109, 137); margin-bottom: 3px; }
.recent-post>span { display: block; color: var(--muted); font-size: 13px; line-height: 1.6; }
.sample-note { font-size: 13px; color: rgb(160, 170, 181); border-top: 1px solid var(--soft-line); padding-top: 10px; margin: 10px 0px 0px; }
.page-footer { margin-top: 24px; border-top: 1px solid var(--line); padding: 15px 0px 22px; display: flex; align-items: center; justify-content: space-between; color: rgb(139, 152, 164); font-size: 13px; }
.page-footer>div { display: flex; gap: 18px; }
.page-footer button { font-size: 13px; color: rgb(116, 134, 154); }
dialog { padding: 0px; width: min(660px, 100% - 30px); max-height: calc(100dvh - 40px); background: var(--panel); color: var(--text); border: 1px solid rgb(142, 159, 176); border-radius: 3px; box-shadow: 0 10px 45px #18222c44; }
dialog::backdrop { background: rgba(24, 34, 44, 0.467); }
.modal-header { display: flex; align-items: center; justify-content: space-between; background: rgb(45, 58, 73); color: rgb(214, 224, 235); padding: 8px 14px; border-bottom: 1px solid rgb(82, 100, 120); font-size: 16px; }
.modal-header button { color: rgb(214, 224, 235); }
#modal-content { padding: 22px; }
dialog h2 { font-size: 26px; font-weight: 400; line-height: 1.3; margin: 0px 0px 16px; }
dialog h3 { font-size: 18px; margin: 22px 0px 8px; }
dialog p, dialog li { font-size: 16px; line-height: 1.8; color: rgb(106, 123, 142); }
dialog ol, dialog ul { padding-left: 19px; }
dialog li { margin-bottom: 9px; }
.modal-note { border: 1px solid var(--line); background: var(--alt); padding: 10px 12px; font-size: 14px !important; color: rgb(120, 134, 148) !important; }
.form-grid { display: flex; flex-direction: column; gap: 16px; margin-top: 18px; }
.form-grid label { display: flex; flex-direction: column; gap: 6px; font-size: 16px; color: rgb(102, 120, 139); }
.form-grid .button { align-self: flex-start; }
.form-grid small { font-size: 13px; color: rgb(137, 151, 165); }
.article-meta { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; margin: 16px 0px; }
.article-body { padding: 16px 0px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); white-space: pre-wrap; }
.article-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; font-size: 13px; color: var(--muted); margin-top: 18px; }
.toast { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 30px); padding: 10px 18px; background: rgb(52, 73, 95); color: rgb(241, 244, 247); border: 1px solid rgb(82, 107, 133); border-radius: 2px; font-size: 16px; opacity: 0; pointer-events: none; z-index: 30; }
.toast.visible { opacity: 1; }
[hidden] { display: none !important; }
html[data-theme="dark"] { color-scheme: dark; --bg: #20252b; --panel: #2b323a; --alt: #282f37; --line: #424c58; --soft-line: #39434e; --text: #c7ced7; --muted: #909dab; --link: #a7bbd0; --bar: #303a46; --field: #242b33; --hover: #333e4b; }
html[data-theme="dark"] .section-bar h2, html[data-theme="dark"] .rail-block h2, html[data-theme="dark"] .category-text>button, html[data-theme="dark"] .last-post>button, html[data-theme="dark"] .recent-post>button, html[data-theme="dark"] .thread-title { color: rgb(174, 194, 215); }
html[data-theme="dark"] .thread-tag { background: rgb(52, 65, 79); border-color: rgb(77, 91, 107); color: rgb(168, 185, 204); }
html[data-theme="dark"] .avatar { background: rgb(53, 67, 82); border-color: rgb(70, 86, 104); color: rgb(161, 179, 198); }
html[data-theme="dark"] .category-stat strong, html[data-theme="dark"] .board-info dd, html[data-theme="dark"] .board-notice strong { color: rgb(164, 186, 208); }
html[data-theme="dark"] .button:not(.button-primary) { color: rgb(174, 194, 215); border-color: rgb(82, 100, 121); }
html[data-theme="dark"] dialog p, html[data-theme="dark"] dialog li { color: rgb(161, 174, 189); }
@media (min-width:1600px) {
main { max-width: 1540px; }
.content-layout { grid-template-columns: minmax(0,1fr) 280px; }
.category-row { min-height: 90px; }
.last-post { width: 235px; }
.forum-group .section-bar>span { padding-right: 252px; }
}
@media (max-width:1150px) {
main { padding: 0px 17px; }
.content-layout { grid-template-columns: minmax(0,1fr) 235px; gap: 16px; }
.last-post { width: 160px; padding-left: 11px; margin-left: 4px; }
.category-stat { min-width: 43px; margin-left: 0px; font-size: 13px; }
.category-row { padding: 14px 11px; gap: 10px; }
.category-text>button { font-size: 16px; }
.category-text p { font-size: 13px; }
.forum-group .section-bar>span { padding-right: 175px; }
.node-icon { width: 28px; }
.thread-title { font-size: 14px; }
.thread-numbers>span { width: 40px; }
.thread-numbers>span.views { width: 45px; }
.thread-columns { grid-template-columns: 1fr 40px 45px; }
}
@media (max-width:950px) {
.content-layout { grid-template-columns: 1fr; }
.right-rail { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.right-rail .rail-block { margin: 0px; }
.right-rail .rail-block:nth-child(2) { grid-row: span 2; }
.right-rail .rail-block:last-child { display: none; }
.category-text>button { font-size: 16px; }
.category-text p { font-size: 14px; }
.category-row { padding: 14px 15px; }
.last-post { width: 205px; }
.forum-group .section-bar>span { padding-right: 219px; }
.board-notice { gap: 10px; }
.thread-title { font-size: 16px; }
}
@media (max-width:720px) {
main { padding: 0px 13px; }
.breadcrumb { padding-top: 14px; }
.page-heading { margin-bottom: 13px; }
.page-heading h1 { font-size: 24px; }
.button { font-size: 13px; padding: 5px 8px; }
.board-notice { font-size: 13px; flex-wrap: wrap; gap: 5px 9px; position: relative; padding: 9px 25px 9px 10px; }
.board-notice>button:not(.notice-close) { margin-left: 0px; }
.board-notice .notice-close { position: absolute; right: 8px; top: 10px; }
.category-row { min-height: 97px; padding: 13px 10px; gap: 10px; }
.node-icon { width: 25px; }
.category-text>button { font-size: 16px; }
.category-text p { font-size: 13px; }
.last-post { width: 155px; padding-left: 10px; margin-left: 0px; }
.last-post>button { font-size: 13px; }
.last-post>span { font-size: 12px; }
.category-stat { min-width: 35px; font-size: 13px; }
.subcategories button { font-size: 12px; }
.subcategories { gap: 8px; }
.forum-group .section-bar>span { padding-right: 165px; }
.section-bar h2 { font-size: 14px; }
.right-rail { gap: 13px; }
.thread-title { font-size: 14px; }
.thread-numbers>span { width: 32px; }
.thread-numbers>span.views { width: 42px; }
.thread-columns { grid-template-columns: 1fr 32px 42px; }
.page-footer { font-size: 12px; }
.page-footer button { font-size: 12px; }
.page-footer>div { gap: 10px; }
}
@media (max-width:480px) {
main { padding: 0px 9px; }
.page-heading h1 { font-size: 24px; }
.heading-actions .button:first-child { display: none; }
.board-notice>span { font-size: 12px; }
.board-notice strong { font-size: 13px; }
.category-row { display: grid; grid-template-columns: 23px minmax(0,1fr) 38px; gap: 8px; min-height: 116px; padding: 12px 9px; }
.category-text>button { font-size: 16px; }
.category-text p { font-size: 13px; line-height: 1.5; margin-bottom: 5px; }
.last-post { grid-column: 2/4; width: auto; max-width: 100%; border: 0px; padding: 2px 0px 0px; display: flex; flex-direction: row; align-items: center; gap: 7px; }
.last-post>button { font-size: 12px; max-width: 58%; min-width: 0px; }
.last-post>span { font-size: 12px; white-space: nowrap; }
.last-post time { display: none; }
.forum-group .section-bar>span { padding-right: 0px; font-size: 12px; }
.node-icon { width: 23px; align-self: start; padding-top: 3px; }
.node-icon .icon { width: 21px; height: 21px; }
.category-stat { font-size: 12px; align-self: start; padding-top: 3px; gap: 4px; }
.category-stat span { font-size: 12px; }
.subcategories { gap: 8px; }
.subcategories button { font-size: 12px; }
.discussion-toolbar { flex-wrap: wrap; gap: 8px; padding: 8px; }
.tabs { gap: 5px; }
.tab { font-size: 13px; padding: 4px 8px; }
.search { width: 100%; min-height: 30px; }
.thread-row { gap: 7px; padding: 12px 9px; min-height: 77px; }
.thread-title { font-size: 14px; }
.thread-meta { font-size: 12px; gap: 4px; }
.thread-tag { font-size: 12px; }
.avatar { width: 22px; height: 25px; font-size: 12px; }
.thread-numbers { gap: 0px; }
.thread-numbers>span { width: 23px; font-size: 13px; }
.thread-numbers .views { display: none; }
.bookmark-button { margin-left: 0px; padding: 2px; }
.bookmark-button .icon { width: 12px; height: 12px; }
.thread-columns { grid-template-columns: 1fr 35px; padding: 5px 30px 5px 38px; font-size: 12px; }
.thread-columns span:last-child { display: none; }
.right-rail { grid-template-columns: 1fr; }
.right-rail .rail-block:nth-child(2) { grid-row: auto; }
.right-rail .rail-block:last-child { display: block; }
.recent-posts { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.recent-post { margin: 0px; padding-bottom: 9px; }
.recent-post>button { font-size: 13px; }
.recent-post>span { font-size: 12px; }
.board-info { font-size: 13px; }
.rail-links { gap: 7px; }
.page-footer { flex-wrap: wrap; gap: 9px; }
.page-footer>div { gap: 13px; }
dialog h2 { font-size: 24px; }
#modal-content { padding: 17px; }
.article-actions { flex-direction: column; align-items: flex-start; gap: 10px; }
.toast { font-size: 14px; width: max-content; }
}
@media (prefers-reduced-motion:reduce) {
* { scroll-behavior: auto !important; transition: none !important; }
}
html { scrollbar-gutter: stable; }
html.has-modal { overflow: hidden; }
dialog::backdrop { opacity: 0; transition: opacity 140ms cubic-bezier(.4,0,1,1); }
dialog.is-visible::backdrop { opacity: 1; transition-duration: 180ms; transition-timing-function: cubic-bezier(.16,1,.3,1); }
dialog.is-closing { pointer-events: none; }
.button, .tab { transition: background-color 100ms ease-out,color 100ms ease-out,border-color 100ms ease-out; }
.toast { transition: opacity 140ms ease-out; }
@media (prefers-reduced-motion:reduce) {
dialog::backdrop { transition: none !important; }
}
.category-text>a { display: block; font-size: 16px; font-weight: 600; text-align: left; color: rgb(64, 88, 117); }
.subcategories a { font-size: 13px; color: rgb(90, 109, 130); }
.subcategories a:before { content: "›"; color: rgb(162, 173, 183); margin-right: 4px; }
.last-post>a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left; font-size: 14px; color: rgb(80, 105, 129); }
.recent-post>a { display: block; font-size: 14px; line-height: 1.5; text-align: left; color: rgb(81, 109, 137); margin-bottom: 3px; }
.rail-links a { font-size: 14px; text-align: left; }
.page-footer a { font-size: 13px; color: rgb(116, 134, 154); }
.page-heading { flex-wrap: wrap; align-items: flex-start; }
.page-heading h1 { flex: 1 1 0%; min-width: 220px; }
.heading-actions { flex-shrink: 0; }
#page-title:focus { outline: none; }
.topic-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; color: rgb(124, 139, 155); font-size: 14px; margin: -4px 0px 17px; }
.topic-meta .icon { width: 12px; height: 12px; }
.topic-pagination { display: flex; justify-content: space-between; color: rgb(140, 152, 166); font-size: 13px; margin: 0px 0px 10px; }
.topic-post { display: grid; grid-template-columns: 155px minmax(0,1fr); border: 1px solid var(--line); border-radius: 2px; background: var(--panel); scroll-margin-top: 18px; }
.topic-post+.topic-post { margin-top: 16px; }
.post-user { background: transparent; align-self: start; border-right: 0; padding: 22px 14px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.post-avatar { display: grid; place-items: center; width: 54px; height: 54px; background: var(--alt); border: 1px solid var(--line); color: var(--link); font: 600 24px Arial, sans-serif; border-radius: 50%; overflow: hidden; }
.post-avatar-root { background: var(--alt); color: var(--link); border-color: var(--line); }
.avatar-with-photo{border-radius:50%;overflow:hidden;width:28px;height:28px}
.avatar-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.5);transform-origin:50% 0%}
.post-author-name { font-size: 16px; font-weight: 600; color: rgb(64, 91, 120); overflow-wrap: anywhere; }
.post-role { font-size: 13px; color: rgb(138, 152, 168); }
.post-role-admin { border: 0; padding: 0; color: var(--link); }
.post-content { min-width: 0px; padding: 0px 23px; border-left: 1px solid var(--soft-line); }
.post-header { display: flex; align-items: center; justify-content: space-between; min-height: 42px; font-size: 13px; color: rgb(141, 153, 166); border-bottom: 1px solid var(--soft-line); }
.post-header>a { margin-left: auto; color: rgb(147, 160, 174); font-size: 13px; }
.post-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.75; font-size: 16px; padding: 24px 0px 30px; color: var(--text); }
.post-text.rules-text { white-space: normal; }
.rules-text h2 { font-size: 18px; line-height: 1.5; font-weight: 600; margin: 25px 0 10px; }
.rules-text p { margin: 0 0 12px; }
.rules-text p:last-child { margin-bottom: 0; }
.post-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0px; border-top: 1px solid var(--soft-line); font-size: 13px; color: rgb(148, 160, 173); }
.post-footer a { font-size: 13px; color: rgb(122, 141, 160); }
.post-edit-button{border:0;padding:0;background:none;font:inherit;color:var(--link);cursor:pointer;margin-left:auto}
.post-edit-button:hover{text-decoration:underline}
.post-edit-form{padding:20px 0}
.market-board,.market-form,.market-detail{border:1px solid var(--line);background:var(--panel);margin-bottom:28px}
.market-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:var(--alt)}
.market-filters label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px;min-width:150px;flex:1}
.market-filters .market-search{flex:2;min-width:210px}
.market-filters input,.market-filters select{font-size:15px;min-height:38px}
.market-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--soft-line);font-size:13px;color:var(--muted)}
.market-row{display:flex;gap:24px;padding:20px;border-bottom:1px solid var(--soft-line)}
.market-row:last-child{border-bottom:0}
.market-row-main{flex:1;min-width:0}
.market-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:13px;color:var(--muted)}
.market-type{font-size:12px;font-weight:600;color:var(--link);padding:2px 7px;border:1px solid var(--line);border-radius:2px}
.market-type-buy{background:var(--alt)}
.market-title{display:inline-block;margin:9px 0 4px;font-size:18px;font-weight:600;overflow-wrap:anywhere}
.market-row-main>p{font-size:15px;color:var(--muted);line-height:1.65;margin:3px 0 12px;overflow-wrap:anywhere}
.market-row-price{font-size:18px;font-weight:600;white-space:nowrap;padding-top:4px}
.market-empty{padding:40px 22px;text-align:center;color:var(--muted)}
.market-empty p{font-size:18px;color:var(--text);margin:0 0 8px}.market-empty span{font-size:15px}
.market-form{padding:24px;max-width:950px}
.market-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}
.market-form-fields>label{display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--muted)}
.market-full{grid-column:1/-1}
.market-form .market-checkbox{display:flex;flex-direction:row;align-items:flex-start;gap:9px;margin:16px 0;font-size:14px;color:var(--muted)}
.market-checkbox input{width:16px;height:16px;flex:none;margin:3px 0 0}
.market-form-fields>.market-checkbox{margin:0}
.market-form-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:20px}
.market-form-actions>span{font-size:13px;color:var(--muted)}
.market-error{color:#b45757;font-size:14px}
.market-detail{padding:24px}
.market-detail-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.market-detail-price{font-size:26px;white-space:nowrap}
.market-seller{font-size:14px;color:var(--muted);margin-top:14px}
.market-description{font-size:16px;line-height:1.8;overflow-wrap:anywhere;padding:24px 0}
.market-info{display:grid;grid-template-columns:150px 1fr;gap:12px;font-size:15px;padding-top:20px;border-top:1px solid var(--line);margin:0}
.market-info dt{color:var(--muted)}.market-info dd{margin:0;overflow-wrap:anywhere}
.market-owner-actions{margin-top:24px}
.market-thumbnail-link{flex:0 0 112px;align-self:flex-start}
.market-thumbnail{display:block;width:112px;height:84px;object-fit:cover;border:1px solid var(--line);border-radius:3px;background:var(--alt)}
.market-cover{margin:24px 0 0;background:var(--alt);border:1px solid var(--line);border-radius:3px;text-align:center;padding:12px}
.market-cover-image{display:block;max-width:100%;width:auto;max-height:480px;height:auto;margin:auto}
.market-preview-field{border:1px solid var(--line);border-radius:3px;margin:0 0 24px;padding:16px;min-width:0}
.market-preview-field legend{font-size:16px;font-weight:600;padding:0 5px}
.market-preview-field p{margin:0 0 12px;font-size:14px;color:var(--muted)}
.market-preview-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.market-upload-label{position:relative;overflow:hidden;cursor:pointer}
.market-upload-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.market-upload-label:focus-within{outline:2px solid #6c90b5;outline-offset:3px}
.market-preview-image{display:block;max-width:100%;max-height:240px;height:auto;width:auto;border:1px solid var(--line);border-radius:3px;margin-bottom:12px}
.editor-image-status{font-size:14px;color:var(--muted);margin:8px 0}
.editor-image-status:empty{display:none}
.formatted-post img{display:block;max-width:100%;width:auto;height:auto;max-height:640px;object-fit:contain;margin:14px 0;border-radius:3px}
.editor-surface img{max-height:360px}
.editor-surface img.ProseMirror-selectednode{outline:2px solid #6c90b5;outline-offset:3px}
@media(max-width:600px){.market-row:has(.market-thumbnail-link){display:grid;grid-template-columns:80px minmax(0,1fr);align-items:start}.market-row:has(.market-thumbnail-link) .market-row-price{grid-column:2}.market-thumbnail-link{width:80px}.market-thumbnail{width:80px;height:80px}}
@media(max-width:600px){.market-form,.market-detail{padding:16px}.market-form-fields{grid-template-columns:1fr}.market-row{padding:16px;gap:12px;flex-direction:column}.market-row-price{padding:0}.market-detail-heading{flex-direction:column;gap:15px}.market-detail-price{font-size:24px}.market-info{grid-template-columns:1fr;gap:5px}.market-info dd{margin-bottom:9px}.market-filters label,.market-filters .market-search{min-width:0;flex:1 1 130px}}
.post-edit-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.post-editor{min-width:0;display:flex;flex-direction:column;gap:8px}
.post-editor>label{font-size:14px;color:var(--muted);margin:0}
.editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:7px;border:1px solid var(--line);background:var(--alt);border-radius:2px}
.editor-tools,.editor-modes{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.editor-toolbar button{border:1px solid transparent;border-radius:2px;background:transparent;color:var(--text);font:inherit;font-size:14px;min-height:32px;padding:4px 8px;cursor:pointer}
.editor-toolbar button:hover,.editor-toolbar button[aria-expanded="true"]{border-color:var(--line);background:var(--panel)}
.editor-toolbar select{width:auto;min-height:32px;padding:3px 6px;font-size:14px}
.editor-modes label{font-size:13px;color:var(--muted);margin:0 3px 0 0}
.post-editor textarea{width:100%;min-height:150px;font-size:16px;font-family:Consolas,monospace;line-height:1.6}
.editor-help{font-size:12px;line-height:1.6;color:var(--muted)}
.editor-divider{height:20px;width:1px;background:var(--line);margin:0 3px}
.editor-toolbar button:disabled{opacity:.4;cursor:default}
.editor-toolbar button[aria-pressed="true"]{background:var(--panel);border-color:var(--line);color:var(--link)}
.editor-visual{min-width:0}
.editor-surface{border:1px solid var(--line);border-radius:2px;background:var(--panel);padding:14px 15px;min-height:180px;max-height:520px;overflow-y:auto;outline:none;font-size:16px;line-height:1.75;cursor:text;overflow-wrap:anywhere}
.editor-surface:focus{border-color:var(--link);box-shadow:0 0 0 1px var(--line)}
.editor-surface>p:first-child:empty:before,.editor-surface>p:first-child:last-child:has(>br:only-child):before{content:"Напишите сообщение…";color:var(--muted);pointer-events:none;float:left;height:0}
.editor-surface p{margin:0 0 12px;min-height:1.75em}
.editor-surface p:last-child{margin-bottom:0}
.editor-surface .ProseMirror-selectednode{outline:1px solid var(--link)}
.editor-surface a{cursor:text}
.editor-preview-label{border-bottom:1px solid var(--soft-line);padding-bottom:10px;margin-bottom:14px;font-size:13px;color:var(--muted)}
.editor-bottom{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}
.editor-shortcuts{max-width:100%}
.editor-shortcuts summary{cursor:pointer;color:var(--link)}
.editor-shortcuts dl{font-size:13px;margin:12px 0;display:grid;grid-template-columns:1fr auto;gap:6px 20px}
.editor-shortcuts dt,.editor-shortcuts dd{margin:0}
.editor-shortcuts p{max-width:470px;font-size:13px;line-height:1.6}
.editor-link-panel{border:1px solid var(--line);border-radius:2px;background:var(--alt);padding:12px}
.editor-link-panel>label{display:block;font-size:13px;color:var(--muted);margin-bottom:7px}
.editor-link-controls{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.editor-link-controls input{flex:1 1 200px;width:auto;min-width:0;font-size:16px;min-height:34px}
.editor-link-controls .button{font-size:13px;min-height:34px}
@media(max-width:480px){.editor-surface{min-height:160px;padding:12px}.editor-toolbar{gap:6px}.editor-tools{gap:2px}.editor-toolbar button{padding:4px 6px}.editor-shortcuts dl{display:block}.editor-shortcuts dd{margin:2px 0 9px}}
.editor-error{font-size:14px;color:#b45757;margin:0}
.editor-preview{border:1px solid var(--line);padding:15px;min-height:70px;background:var(--panel);font-size:16px;overflow-wrap:anywhere}
.formatted-post{white-space:normal}
.editor-surface.formatted-post{white-space:pre-wrap}
.formatted-post p{margin:0 0 14px}
.formatted-post p:last-child{margin-bottom:0}
.formatted-post h2{font-size:20px;line-height:1.5;margin:20px 0 12px}
.formatted-post h3{font-size:18px;line-height:1.5;margin:18px 0 10px}
.formatted-post ul,.formatted-post ol{margin:12px 0;padding-left:26px}
.formatted-post li{margin:5px 0}
.formatted-post blockquote{margin:14px 0;padding:10px 15px;border-left:3px solid var(--line);background:var(--alt)}
.formatted-post pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0;padding:12px 15px;background:var(--alt);border:1px solid var(--line);font:14px/1.6 Consolas,monospace}
.formatted-post code{font-family:Consolas,monospace;font-size:.9em}
.formatted-post hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.formatted-post a{color:var(--link);text-decoration:underline;overflow-wrap:anywhere}
.topic-closed { margin-top: 13px; padding: 12px 15px; background: rgb(230, 235, 240); color: rgb(122, 137, 153); font-size: 14px; border: 1px solid rgb(214, 222, 230); border-radius: 2px; }
.reply-panel { border: 1px solid var(--line); background: var(--panel); margin-top: 22px; border-radius: 2px; }
.reply-panel h2 { font-size: 16px; font-weight: 600; margin: 0px; padding: 11px 15px; border-bottom: 1px solid var(--line); color: rgb(76, 100, 124); background: var(--alt); }
.reply-panel form { padding: 17px; }
.reply-panel label { display: block; font-size: 14px; color: rgb(130, 146, 162); margin-bottom: 8px; }
.reply-panel textarea { min-height: 130px; font-size: 16px; }
.reply-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 12px; }
.reply-actions>span { font-size: 13px; color: rgb(152, 163, 175); }
.topic-empty { border: 1px solid var(--line); background: var(--panel); padding: 30px; font-size: 16px; color: var(--muted); }
html[data-theme="dark"] .category-text>a, html[data-theme="dark"] .last-post>a, html[data-theme="dark"] .recent-post>a, html[data-theme="dark"] .post-author-name { color: rgb(174, 194, 215); }
html[data-theme="dark"] .topic-closed { background: rgb(43, 53, 64); border-color: rgb(66, 79, 94); color: rgb(160, 175, 191); }
@media (max-width:1150px) {
.category-text>a { font-size: 16px; }
.last-post>a { font-size: 13px; }
}
@media (max-width:950px) {
.category-text>a { font-size: 16px; }
}
@media (max-width:720px) {
.page-heading h1 { font-size: 24px; min-width: 190px; }
.category-text>a { font-size: 16px; }
.subcategories a { font-size: 12px; }
.last-post>a { font-size: 13px; }
.post-user { padding: 18px 10px; }
.post-content { padding: 0px 16px; }
.topic-post { grid-template-columns: 125px minmax(0,1fr); }
}
@media (max-width:480px) {
.heading-actions .button:first-child { display: inline-flex; }
.page-heading h1 { min-width: 220px; font-size: 24px; }
.heading-actions { width: 100%; justify-content: flex-end; }
.category-text>a { font-size: 16px; }
.subcategories a { font-size: 12px; }
.last-post>a { font-size: 12px; max-width: 58%; min-width: 0px; }
.recent-post>a { font-size: 13px; }
.topic-meta { gap: 8px; font-size: 13px; margin-top: 0px; }
.topic-post { display: block; }
.post-user { border-right: 0px; border-bottom: 1px solid var(--line); padding: 11px 13px; display: grid; grid-template-columns: 36px 1fr; gap: 2px 10px; justify-items: start; }
.post-avatar { width: 34px; height: 34px; font-size: 20px; grid-row: 1/3; }
.post-author-name { font-size: 16px; }
.post-role { font-size: 12px; }
.post-role-admin { padding: 0px 4px; }
.post-content { padding: 0px 13px; border-left: 0; }
.post-text { font-size: 16px; padding: 18px 0px 23px; line-height: 1.75; }
.post-header { min-height: 35px; }
.post-footer { font-size: 12px; }
.post-footer a { font-size: 12px; }
.reply-actions { align-items: flex-start; flex-direction: column; }
.reply-actions .button { align-self: flex-end; }
.reply-panel form { padding: 13px; }
.page-footer a { font-size: 12px; }
}

/* Rules topic */
.rules-important{padding:0;margin:0 0 16px;border:0;background:none;color:var(--text);font-size: 16px;line-height:1.7}
.rules-intro{color:var(--muted);font-size: 16px}
.rules-contents{padding:0;margin:19px 0 25px;border:0;background:none}
.rules-contents>strong{display:block;font-size: 16px;margin-bottom:8px;font-weight:600}
.rules-contents ol{display:block;margin:0;padding-left:24px;list-style:decimal}
.rules-contents li{font-size: 14px;color:var(--muted);line-height:1.65;padding-left:2px;margin-bottom:5px}
.rules-contents a{color:var(--link)}
.rules-text>h2{padding-top:7px;scroll-margin-top:20px}
.rules-text>h2:not(:first-of-type){border-top:1px solid var(--soft-line);padding-top:20px}
/* Standalone authentication pages */
.auth-layout{display:grid;grid-template-columns:minmax(0,480px) minmax(200px,300px);justify-content:center;align-items:start;gap:35px;margin:25px 0 45px}
.auth-panel{min-width:0;border:1px solid var(--line);border-radius:3px;background:var(--panel)}
.auth-tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--line);background:var(--alt)}
.auth-tabs a{display:flex;align-items:center;justify-content:center;flex:1;min-height:45px;padding:10px 20px;color:var(--muted);font-size: 16px;border-bottom:2px solid transparent}
.auth-tabs a[aria-current="page"]{color:var(--link);border-bottom-color:#526f8d;background:var(--panel)}
.auth-tabs a:hover{text-decoration:none;color:var(--link)}
.auth-form{padding:26px;display:flex;flex-direction:column;gap:9px}
.auth-form>label:not(.auth-agreement){font-size: 16px;color:var(--muted);margin-top:8px}
.auth-form>label:first-child{margin-top:0}
.auth-form>input{min-height:38px;font-size: 16px}
.auth-form>small{font-size: 13px;color:var(--muted);margin-bottom:3px}
.auth-agreement{display:flex;align-items:flex-start;gap:9px;margin:10px 0 3px;font-size: 14px;color:var(--muted);line-height:1.6}
.auth-agreement input{width:15px;height:15px;margin:1px 0 0;flex:0 0 auto;accent-color:#526f8d}
.auth-submit{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px}
.auth-submit .button{font-size: 16px;min-height:35px;padding:7px 16px}
.auth-submit>a{font-size: 14px;color:var(--muted)}
.auth-error{padding:8px 10px;font-size: 14px;color:#a44747;border-left:2px solid #b96d6d;margin:8px 0 0;background:var(--alt)}
.auth-info{padding:17px 0;color:var(--muted)}
.auth-info h2{font-size: 16px;color:var(--text);margin:0 0 13px;font-weight:600}
.auth-info p{font-size: 14px;line-height:1.9;margin:0 0 13px}
.auth-info>a{font-size: 14px}
@media(max-width:720px){.auth-layout{grid-template-columns:minmax(0,480px);gap:16px;margin-top:16px}.auth-info{padding:17px 0 0;border-top:1px solid var(--line)}.rules-important{font-size: 14px}.auth-form{padding:21px}}
@media(max-width:380px){.auth-submit{align-items:stretch;flex-direction:column;gap:12px}.auth-submit>a{text-align:center}}


/* Reading size remains consistent on phones and in form controls. */
.privacy-document{padding:24px 28px;margin:0 0 26px;border:1px solid var(--line);background:var(--panel);font-size:16px;line-height:1.75;overflow-wrap:anywhere}
.privacy-document>*{max-width:95ch}
.privacy-document p{margin:0 0 14px}
.privacy-document .privacy-revision{font-size:14px;color:var(--muted);margin-bottom:18px}
.privacy-document h2{font-size:18px;line-height:1.5;font-weight:600;margin:28px 0 12px;scroll-margin-top:20px}
.privacy-document ul,.privacy-document ol{padding-left:24px;margin:12px 0 18px}
.privacy-document li{margin-bottom:7px}
.privacy-document .privacy-contents{margin:20px 0 28px}
.privacy-contents a{color:var(--link)}
@media(max-width:720px){.privacy-document{padding:18px 16px}.privacy-document h2{font-size:18px}}
.post-text{font-size:16px;line-height:1.75}
.captcha-field{display:grid;gap:10px;margin:4px 0 8px}
.captcha-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.captcha-image{max-width:100%;height:auto;border:1px solid var(--line);border-radius:3px}
.captcha-field input:not([type=hidden]){width:100%;padding:11px 12px;font:inherit;font-size:18px;letter-spacing:3px;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:3px}
.captcha-field small{color:var(--muted);font-size:14px;line-height:1.5}
.search input,.reply-panel textarea,.auth-form>input{font-size:16px}
.post-header,.post-header>a,.post-footer,.post-footer a,.topic-pagination,.thread-columns,.sample-note,.page-footer,.page-footer a,.page-footer button{color:var(--muted)}
