/* Forum center — stage A. Presentation is scoped to forumApp. */
#forumApp{--fc-ink:var(--txt);--fc-muted:var(--muted);--fc-rule:var(--line);--fc-surface:var(--panel);--fc-accent:var(--gold);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--fc-ink);line-height:1.55;overflow-wrap:anywhere;min-width:0}


#forumApp .page-title{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.22;text-align:left}
#forumApp .page-sub{font-size:1rem;line-height:1.6;color:var(--fc-muted);margin-bottom:0}
#forumApp .fr-search{flex:1 1 250px;min-width:0;max-width:420px}
#forumApp .fr-search input{width:100%}
#forumApp .fr-group{margin:28px 0}
#forumApp .fr-group>h2{font:600 1.05rem/1.5 system-ui,sans-serif;letter-spacing:.035em;border-color:var(--fc-rule);color:var(--fc-muted);margin-bottom:14px}
#forumApp .fr-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#forumApp .fr-section-card{padding:20px;margin:0;border-radius:6px;display:flex;flex-direction:column;gap:10px;background:var(--panel)}
#forumApp .fr-section-card:hover,#forumApp .fr-topic-row:hover{border-color:var(--gold)}
#forumApp .fr-section-head{gap:12px;align-items:center}
#forumApp .fr-section-card h3{font:600 1.05rem/1.4 system-ui,sans-serif;color:var(--txt)}
#forumApp .fr-section-card p{margin:0;flex:1;font-size:.95rem}
#forumApp .fr-section-meta{border-top:1px solid var(--fc-rule);padding-top:10px;font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--txt)}
#forumApp .fr-last{margin:0;font-size:.8rem;color:var(--fc-muted)}
#forumApp .fc-icon{width:32px;height:32px;min-width:32px;border:0;border-radius:0;color:var(--gold);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}
#forumApp .fr-title-icon{margin-right:12px}
#forumApp .fc-center{border:1px solid var(--fc-rule);border-radius:6px;background:var(--panel2);padding:18px 22px}
#forumApp .fc-center h2{font:600 .85rem/1.4 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 14px;padding:0;border:0}
#forumApp .fc-center-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
#forumApp .fc-metric{display:flex;flex-direction:column;gap:5px;min-width:0}
#forumApp .fc-metric strong{font-size:1.1rem;font-weight:600}
#forumApp .fc-metric small{font-size:.8rem}
#forumApp .fc-label{display:block;font:500 .8rem/1.5 system-ui,sans-serif;color:var(--fc-muted);margin:3px 0}
#forumApp .fc-number{font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums}
#forumApp .fc-title{display:inline-flex;align-items:baseline;gap:8px;min-width:0;overflow-wrap:anywhere}
#forumApp .fc-type{display:inline-grid;place-items:center;align-self:flex-start;flex:0 0 auto;min-width:1.7em;min-height:1.7em;color:var(--gold);background:var(--panel2);border:1px solid var(--fc-rule);border-radius:3px;font:600 .9em/1.5 ui-monospace,Consolas,monospace}
#forumApp .fr-topic-row{border-radius:5px;padding:15px 18px}
#forumApp .fr-topic-row .fr-topic-meta{text-align:left}
#forumApp .fc-topics{width:100%;table-layout:fixed;border-collapse:collapse;border:1px solid var(--fc-rule);background:var(--panel);font-size:.9rem}
#forumApp .fc-topics caption{text-align:left;padding:10px 0;color:var(--fc-muted);font-size:.85rem}
#forumApp .fc-topics th{font-size:.75rem;color:var(--fc-muted);background:var(--panel2);font-weight:500;text-align:left}
#forumApp .fc-topics th,#forumApp .fc-topics td{padding:12px 10px;border-bottom:1px solid var(--fc-rule);vertical-align:top;overflow-wrap:anywhere}
#forumApp .fc-topics th:nth-child(1){width:9%}
#forumApp .fc-topics th:nth-child(2){width:34%}
#forumApp .fc-topics th:nth-child(3){width:14%}
#forumApp .fc-topics th:nth-child(4){width:10%}
#forumApp .fc-topics th:nth-child(5){width:12%}
#forumApp .fc-topics th:nth-child(6){width:21%}
#forumApp .fc-topics a{color:var(--txt);text-decoration:none}
#forumApp .fc-topics a:hover{text-decoration:underline;color:var(--gold)}
#forumApp .fc-topics .unread .fc-topic-name a{color:var(--gold)}
#forumApp .fc-activity{font:400 .8rem/1.6 ui-monospace,Consolas,monospace;color:var(--fc-muted)}
#forumApp .fc-status-legend{margin:16px 0;border:1px dashed var(--fc-rule);padding:14px;border-radius:5px}
#forumApp .fc-status-legend summary{cursor:pointer;color:var(--fc-muted);font-size:.85rem}
#forumApp .fc-status{display:inline-flex;align-items:center;gap:5px;border:1px solid currentColor;padding:3px 8px;border-radius:3px;font-size:.8rem;margin:4px 6px 4px 0}
#forumApp .fc-status-checking{color:var(--gold)}
#forumApp .fc-status-confirmed{color:var(--green)}
#forumApp .fc-status-refuted{color:var(--red)}
#forumApp .fc-status-insufficient{color:var(--muted)}
#forumApp .fr-post{border-radius:6px;grid-template-columns:145px minmax(0,1fr);gap:24px;padding:20px}
#forumApp .fr-post aside{font-size:.9rem;min-width:0}
#forumApp .fr-post aside .fr-time{font-size:.8rem;color:var(--fc-muted)}
#forumApp .fr-post .fr-avatar{border-radius:6px;border:1px solid var(--fc-rule)}
#forumApp .fr-badge{font-size:.75rem;border-radius:3px;padding:3px 7px}

#forumApp .fr-post-body{line-height:1.75}
#forumApp .fr-post-actions{gap:8px}
#forumApp .fr-form{border-radius:6px;padding:22px}
#forumApp .fr-sticky-reply textarea,#forumApp .fr-sticky-reply textarea:focus{height:120px;min-height:120px}
#forumApp .fr-sticky-reply{position:static;box-shadow:none}
#forumApp #fc-body{min-height:320px}
#forumApp .fc-template{background:var(--panel2);border:1px solid var(--fc-rule);padding:0 14px 10px;border-radius:4px;margin-top:16px}
#forumApp .fc-template p{font-size:.85rem;margin-bottom:0}
#forumApp input,#forumApp select,#forumApp textarea{font-family:inherit;max-width:100%;min-width:0}
#forumApp input::placeholder,#forumApp textarea::placeholder{color:var(--muted);opacity:1}
#forumApp .btn.gold{background:var(--surface-gold);color:var(--on-bg)}
#forumApp button,#forumApp .btn,#forumApp .fr-button{max-width:100%;white-space:normal;overflow-wrap:anywhere;font-family:inherit}
#forumApp .fr-pages{flex-wrap:wrap}
#forumApp :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:900px){#forumApp .fc-topics{font-size:.85rem}#forumApp .fc-topics th,#forumApp .fc-topics td{padding:10px 6px}}
@media(max-width:700px){#forumApp .fr-search{max-width:none;display:flex;flex-wrap:wrap}#forumApp .fr-search input{flex:1 1 160px}#forumApp .fr-sections{grid-template-columns:1fr}#forumApp .fr-section-card{padding:16px}#forumApp .fc-center{padding:16px}#forumApp .fc-center-grid{grid-template-columns:1fr;gap:16px}#forumApp .fc-metric+.fc-metric{border-top:1px solid var(--fc-rule);padding-top:14px}#forumApp .fc-topics,#forumApp .fc-topics tbody{display:block;width:100%}#forumApp .fc-topics{border:0;background:none}#forumApp .fc-topics caption{display:block}#forumApp .fc-topics thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}#forumApp .fc-topics tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--fc-rule);background:var(--panel);margin-bottom:12px;border-radius:5px;padding:12px;gap:10px}#forumApp .fc-topics td{display:block;border:0;padding:0;min-width:0}#forumApp .fc-topics td::before{content:attr(data-label);display:block;color:var(--fc-muted);font:400 .75rem/1.5 system-ui,sans-serif;margin-bottom:3px}#forumApp .fc-topics .fc-topic-name{grid-column:1/-1;grid-row:1}#forumApp .fc-topics .fc-topic-name::before{display:none}#forumApp .fc-topics .fc-topic-status{grid-column:1/-1}#forumApp .fr-post{grid-template-columns:1fr;padding:16px;gap:16px}#forumApp .fr-post aside{flex-direction:row;flex-wrap:wrap;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--fc-rule)}#forumApp .fr-post aside .fr-time{flex-basis:100%}#forumApp .fr-form{padding:16px}#forumApp .fr-format button{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){#forumApp *,#forumApp *::before,#forumApp *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Review fixes: transient local feedback, compact mobile metadata, explicit type. */
#forumApp .fc-action-status,.fr-modal .fc-action-status{flex-basis:100%;width:100%;font-size:.875rem;line-height:1.5}
#forumApp .fc-action-status .fr-error,.fr-modal .fc-action-status .fr-error{margin:4px 0;color:var(--red)}
#forumApp .fc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#forumApp .fc-type-name{font-size:.65em;color:var(--muted);font-weight:500;line-height:1.4}
#forumApp h1 .fc-title{flex-wrap:wrap;align-items:center;gap:8px 12px}
#forumApp h1 .fc-title>span:last-child{flex-basis:100%}
#forumApp .fc-row-mark{font-size:.75rem;color:var(--gold);margin-left:5px}
@media(max-width:767px){
 #forumApp .fc-topics,#forumApp .fc-topics tbody{display:block;width:100%}
 #forumApp .fc-topics{border:0;background:none}
 #forumApp .fc-topics caption{display:block}
 #forumApp .fc-topics thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
 #forumApp .fc-topics tbody tr{display:block;border:1px solid var(--line);background:var(--panel);border-radius:5px;padding:10px 12px;margin:0 0 8px;line-height:1.35}
 #forumApp .fc-topics tbody td{display:inline;border:0;padding:0;min-width:0;font:400 .75rem/1.4 system-ui,sans-serif;color:var(--muted)}
 #forumApp .fc-topics tbody td::before{display:none}
 #forumApp .fc-topics tbody .fc-topic-status{display:none}
 #forumApp .fc-topics tbody .fc-topic-name{display:block;position:relative;padding-right:30px;margin-bottom:5px;font-size:.875rem;color:var(--txt)}
 #forumApp .fc-topic-name .fc-row-mark{position:absolute;top:0;right:0;margin:0}
 #forumApp .fc-topic-name .fc-row-mark:nth-last-child(2){right:12px}
 #forumApp .fc-topic-name .fc-row-mark:nth-last-child(3){right:24px}
 #forumApp .fc-topic-name .fc-title{gap:6px;vertical-align:top;line-height:1.35}
 #forumApp .fc-topic-name .fc-title>span:last-child{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 #forumApp .fc-topics .fc-replies::before{display:inline;content:' · ответов ';font:inherit;margin:0}
 #forumApp .fc-topics .fc-views::before{display:inline;content:' · просмотров ';font:inherit;margin:0}
 #forumApp .fc-topics .fc-activity::before{display:inline;content:' · ';font:inherit;margin:0}
}

/* B-1: rank text remains accessible independently of its color. */
#forumApp{--fc-rank-novice:var(--c-fg-b290c6b5c85a);--fc-rank-popan:var(--c-fg-b290c6b5c85a);--fc-rank-user:var(--c-fg-86db1a524250);--fc-rank-regular:var(--c-fg-ffefb741898f);--fc-rank-vip-green:var(--c-fg-67921c07858a);--fc-rank-vip-silver:var(--c-fg-e7ae93b49a53);--fc-rank-vip-gold:var(--c-fg-06d5173e7e5e);--fc-rank-vip-blue:var(--c-fg-a255ca8711b3);--fc-rank-master:var(--c-fg-366ee2e87728);--fc-rank-moderator:var(--gold);--fc-rank-admin:var(--gold)}
#forumApp .fc-rank{display:block;width:auto;height:auto;border:0;font:500 .75rem/1.5 system-ui,sans-serif;letter-spacing:0;white-space:normal}
#forumApp .fc-rank-novice{color:var(--fc-rank-novice)}
#forumApp .fc-rank-popan{color:var(--fc-rank-popan)}
#forumApp .fc-rank-user{color:var(--fc-rank-user)}
#forumApp .fc-rank-regular{color:var(--fc-rank-regular)}
#forumApp .fc-rank-vip-green{color:var(--fc-rank-vip-green)}
#forumApp .fc-rank-vip-silver{color:var(--fc-rank-vip-silver)}
#forumApp .fc-rank-vip-gold{color:var(--fc-rank-vip-gold)}
#forumApp .fc-rank-vip-blue{color:var(--fc-rank-vip-blue)}
#forumApp .fc-rank-master{color:var(--fc-rank-master)}
#forumApp .fc-rank-moderator{color:var(--fc-rank-moderator)}
#forumApp .fc-rank-admin{color:var(--fc-rank-admin)}
#forumApp .fc-week{margin:18px 0 28px;border:1px solid var(--fc-rule);border-radius:6px;background:var(--panel);padding:18px 22px}
#forumApp .fc-week-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
#forumApp .fc-week-head h2{font:600 1.05rem/1.5 system-ui,sans-serif;margin:0}
#forumApp .fc-rating-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
#forumApp .fc-rating-tabs a{padding:8px 14px;border:1px solid var(--fc-rule);border-radius:4px}
#forumApp .fc-rating-tabs a[aria-current]{color:var(--fc-accent);border-color:var(--fc-accent)}
#forumApp .fc-rating-list{list-style:none;margin:12px 0;padding:0}
#forumApp .fc-rating-list li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--fc-rule);align-items:center}
#forumApp .fc-rating-person{min-width:0}
#forumApp .fc-rating-place,#forumApp .fc-rating-score{font-variant-numeric:tabular-nums}
#forumApp .fc-rating-score{white-space:nowrap;text-align:right}
#forumApp .fc-rating-score small,#forumApp .fc-rating-note,#forumApp .fc-rating-empty{color:var(--fc-muted)}
#forumApp .fc-author .fc-rank{margin-top:4px}
@media(max-width:700px){#forumApp .fc-week{padding:16px}#forumApp .fc-rating-list li{gap:8px;grid-template-columns:20px minmax(0,1fr) auto}}

/* B-2: request completion and research controls */
.fc-state-controls,.fc-master-requests{margin:20px 0;padding:18px;border:1px solid var(--c-border-3ffcc103a385);border-radius:12px;background:var(--c-bg-eac8cb1b0a90)}
.fc-state-controls h2,.fc-master-requests h2{margin-top:0;font-size:1.15rem}
.fc-state-controls label{display:block;margin:12px 0 6px}
.fc-state-controls select,.fc-status-filter select{max-width:100%;min-height:44px;padding:8px;color:var(--c-fg-b5042b44444e);background:var(--c-bg-b50b959242a7);border:1px solid var(--c-border-233ebddfad8f);border-radius:6px;font:inherit}
.fc-state-controls .btn,.fc-state-controls .fr-button{margin:10px 8px 0 0;min-height:44px}
.fc-status-filter{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0}
.fc-status-filter .fr-button{min-height:44px}
.fc-request-status{white-space:normal;overflow-wrap:anywhere;line-height:1.6}
.fc-master-requests li{margin:12px 0;overflow-wrap:anywhere}
.fc-master-requests time{display:block}
.fc-state-controls select{display:block;width:min(100%,460px)}
@media(max-width:600px){.fc-state-controls,.fc-master-requests{padding:12px}.fc-status-filter{align-items:stretch}.fc-status-filter label{flex-basis:100%}.fc-status-filter select{flex:1;min-width:0}.fc-topic-status .fc-status{white-space:normal}.fc-rating-score{white-space:normal}}

@media(max-width:767px){#forumApp .fc-topics tbody .fc-topic-status{display:block;margin:4px 0}#forumApp .fc-topics tbody .fc-topic-status:empty{display:none}}
#forumApp .fc-request-status{display:block;width:fit-content;max-width:100%;white-space:normal}

/* Stage C: account, ledger and medals. */
.fc-units,.fc-medals,.fc-admin-units{margin:22px 0;padding:18px;border:1px solid var(--c-border-7cfb28f031ae);border-radius:12px;background:var(--c-bg-e6e040ea92d2);color:var(--c-fg-df2b61599096);overflow-wrap:anywhere}
.fc-units h2,.fc-medals h2,.fc-admin-units h3{margin:0 0 12px}
.fc-units-balance{display:block;font-size:1.8rem;color:var(--c-fg-a10e9e35547c);margin:12px 0}
.fc-units-notice{font-size:.85rem;color:var(--c-fg-79fdc7cba255)}
.fc-medal-list{padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px}
.fc-medal{display:flex;gap:12px;padding:12px;border:1px solid var(--c-border-7a1d34676892);border-radius:8px;min-width:0}
.fc-medal p{margin:6px 0}.fc-medal-icon{font-size:1.8rem;color:var(--c-fg-a10e9e35547c)}.fc-medal time{display:block;font-size:.8rem}
.fc-units-journal summary{cursor:pointer;padding:12px 0;color:var(--c-fg-a10e9e35547c);min-height:44px}
.fc-units-ledger{list-style:none;padding:0;margin:12px 0}
.fc-units-entry{display:grid;grid-template-columns:minmax(100px,1fr) minmax(140px,2fr) minmax(90px,1fr) minmax(120px,1fr);gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--c-border-27edbf12895f);font-size:.85rem}
.fc-units-credit{color:var(--c-fg-695c1d8a455b)}.fc-units-debit{color:var(--c-fg-96eae254696b)}.fc-units-after{color:var(--c-fg-79fdc7cba255)}
.fc-units-adjust{display:grid;gap:8px;max-width:580px;margin:20px 0;padding-top:12px;border-top:1px solid var(--c-border-27edbf12895f)}
.fc-units-adjust input,.fc-units-adjust select{min-height:44px;padding:8px;color:var(--c-fg-df2b61599096);border:1px solid var(--c-border-79f6849d048f);border-radius:6px;background:var(--c-bg-4b6d11f8d505);font:inherit;min-width:0;max-width:100%}
.fc-admin-units button{min-height:44px}
@media(max-width:700px){.fc-units,.fc-medals,.fc-admin-units{padding:12px}.fc-units-entry{grid-template-columns:1fr 1fr}.fc-units-entry time,.fc-units-reason{grid-column:1/-1}.fc-units-entry span{min-width:0}.fc-units-balance{font-size:1.5rem}}
.fc-medal-icon{flex:none;width:56px;height:56px;line-height:56px;text-align:center}.fc-medal-icon img{display:block;width:56px;height:56px}

#forumApp .fr-group-desc{margin:-4px 0 14px;color:var(--muted);font-size:.95rem;line-height:1.5}
