/*
 * Ex Cathedra theme.
 * Loaded after applications/dashboard/design/style.css and plugin styles.
 * @license GPL-2.0-only
 */

/* ========================================================== Tokens */
:root {
    --exc-bg: #f4f4f5;
    --exc-surface: #ffffff;
    --exc-surface-muted: #fafafa;
    --exc-border: #e4e4e7;
    --exc-border-strong: #d4d4d8;
    --exc-divider: #efeff1;
    --exc-text: #27272a;
    --exc-heading: #18181b;
    --exc-text-2: #3f3f46;
    --exc-text-3: #52525b;
    --exc-meta: #63636b;
    --exc-muted: #71717a;
    --exc-icon: #8b8b94;
    --exc-disabled: #c4c4cc;
    --exc-accent: #0369a1;
    --exc-accent-hover: #075985;
    --exc-accent-tint: #f0f6f9;
    --exc-accent-tint-2: #e0eef5;
    --exc-danger: #b91c1c;
    --exc-radius: 10px;
    --exc-radius-control: 8px;
    --exc-radius-small: 6px;
    --exc-shadow: 0 1px 2px rgba(24, 24, 27, 0.05);
    --exc-shadow-pop: 0 10px 30px rgba(24, 24, 27, 0.12), 0 2px 6px rgba(24, 24, 27, 0.06);
    --exc-font: Inter, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --exc-display: "Instrument Serif", Georgia, "Times New Roman", serif;
    --exc-mono: "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    --exc-container: 1248px;
    --exc-gutter: 24px;
}

/* ========================================================== Base */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body.Exc {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--exc-bg);
    color: var(--exc-text);
    font-family: var(--exc-font);
    font-size: 14px;
    line-height: 1.5;
    font-feature-settings: "cv11", "ss01";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.Exc a {
    color: var(--exc-accent);
    text-decoration: none;
}

body.Exc a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.Exc :focus-visible {
    outline: 2px solid var(--exc-accent);
    outline-offset: 2px;
    border-radius: 4px;
}

body.Exc h1, body.Exc h2, body.Exc h3, body.Exc h4, body.Exc h5, body.Exc h6 {
    font-family: var(--exc-font);
    color: var(--exc-heading);
    font-weight: 600;
    line-height: 1.25;
    margin: 0;
}

body.Exc strong, body.Exc b {
    font-weight: 700;
}

body.Exc em, body.Exc i {
    font-style: italic;
}

.sr-only, .SrOnly {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.Exc-skip {
    position: absolute;
    left: 16px;
    top: -60px;
    z-index: 1000;
    padding: 10px 16px;
    border-radius: var(--exc-radius-control);
    background: var(--exc-heading);
    color: #fff !important;
    font-weight: 600;
}

.Exc-skip:focus {
    top: 12px;
}

.Exc-icon {
    display: block;
    flex: none;
}

.Exc-container {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--exc-container);
    margin: 0 auto;
    padding: 0 var(--exc-gutter);
}

.Hidden {
    display: none !important;
}

/* ========================================================== Header */
.Exc-header {
    background: var(--exc-surface);
    color: var(--exc-heading);
    border-bottom: 1px solid var(--exc-border);
}

.Exc-headerInner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 28px;
}

.Exc-logo {
    flex: 0 0 auto;
    display: block;
    margin: 12px 0;
    line-height: 0;
}

.Exc-logo img {
    display: block;
    width: 136px;
    height: auto;
}

.Exc-headerMain {
    flex: 1 1 520px;
    min-width: 0;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
    padding-top: 14px;
}

.Exc-headerTop {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
}

.Exc-brand {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

body.Exc .Exc-wordmark {
    margin: 0;
    font-family: var(--exc-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--exc-heading);
}

body.Exc .Exc-wordmark:hover {
    text-decoration: none;
}

.Exc-tagline {
    margin: 0;
    max-width: 36em;
    font-family: var(--exc-display);
    font-size: 19px;
    line-height: 1.35;
    letter-spacing: -0.005em;
    color: var(--exc-text-3);
    text-wrap: pretty;
}

.Exc-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

/* Core hides .MeBox on profile pages; the header menu must stay visible. */
body.Exc .Exc-actions .MeBox {
    display: block;
    margin: 0;
}

.Exc-actions .MeMenu {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.Exc .Exc-iconButton {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: var(--exc-radius-control);
    color: var(--exc-text-2);
    background: transparent;
    text-decoration: none;
}

body.Exc .Exc-iconButton:hover,
body.Exc .ToggleFlyout.Open > .Exc-iconButton {
    background: var(--exc-bg);
    color: var(--exc-heading);
    text-decoration: none;
}

body.Exc .Exc-countBadge,
body.Exc .MeBox .Alert {
    position: absolute;
    top: 3px;
    left: 23px;
    box-sizing: border-box;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: var(--exc-accent);
    box-shadow: 0 0 0 2px var(--exc-surface);
    color: #fff;
    font-family: var(--exc-font);
    font-size: 10.5px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    white-space: nowrap;
}

body.Exc .Exc-avatarButton {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-left: 6px;
    border-radius: 50%;
    text-decoration: none !important;
}

body.Exc .Exc-avatarButton .Alert {
    top: -4px;
    left: 24px;
}

body.Exc .Exc-avatar {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--exc-bg);
    box-shadow: 0 0 0 1px var(--exc-border);
    color: var(--exc-heading);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
}

body.Exc .Exc-avatarButton:hover .Exc-avatar,
body.Exc .ToggleFlyout.Open .Exc-avatar {
    box-shadow: 0 0 0 2px var(--exc-accent);
}

.Exc-signIn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

/* Navigation */
.Exc-nav {
    display: flex;
    flex-wrap: wrap;
    column-gap: 30px;
    border-top: 1px solid #f0f0f2;
}

body.Exc .Exc-nav a {
    padding: 10px 0 9px;
    border-bottom: 3px solid transparent;
    color: var(--exc-text-3);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
}

body.Exc .Exc-nav a:hover {
    color: var(--exc-heading);
    border-bottom-color: var(--exc-border-strong);
}

body.Exc .Exc-nav a.Exc-navActive {
    color: var(--exc-heading);
    border-bottom-color: var(--exc-accent);
}

/* ========================================================== Buttons */
body.Exc .Exc-button,
body.Exc .Button,
body.Exc button.Button,
body.Exc input.Button,
body.Exc a.Button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid var(--exc-border-strong);
    border-radius: var(--exc-radius-control);
    background: var(--exc-surface);
    box-shadow: none;
    color: var(--exc-heading);
    font-family: var(--exc-font);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    text-shadow: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

body.Exc .Exc-button:hover,
body.Exc .Button:hover {
    background: var(--exc-bg);
    border-color: #a1a1aa;
    color: var(--exc-heading);
    text-decoration: none;
}

body.Exc .Exc-button-primary,
body.Exc .Button.Primary,
body.Exc .Button.Action,
body.Exc input.Button.Primary,
body.Exc .ApplyButton.Button,
body.Exc #Form_Save,
body.Exc #Form_PostComment,
body.Exc #Form_PostDiscussion,
body.Exc #Form_SignIn,
body.Exc #Form_Register,
body.Exc #Form_SendMessage,
body.Exc #Form_Start {
    border-color: var(--exc-accent);
    background: var(--exc-accent);
    color: #fff;
}

body.Exc .Exc-button-primary:hover,
body.Exc .Button.Primary:hover,
body.Exc .Button.Action:hover,
body.Exc #Form_Save:hover,
body.Exc #Form_PostComment:hover,
body.Exc #Form_PostDiscussion:hover,
body.Exc #Form_SignIn:hover,
body.Exc #Form_Register:hover,
body.Exc #Form_SendMessage:hover,
body.Exc #Form_Start:hover {
    border-color: var(--exc-accent-hover);
    background: var(--exc-accent-hover);
    color: #fff;
}

body.Exc .Button.Disabled,
body.Exc .Button[disabled] {
    opacity: 0.55;
}

body.Exc .Button.Danger,
body.Exc .Button.Delete {
    color: var(--exc-danger);
}

body.Exc .SmallButton,
body.Exc .Button.SmallButton {
    min-height: 32px;
    padding: 0 12px;
    font-size: 13px;
}

/* ========================================================== Forms */
body.Exc input.InputBox,
body.Exc input.SmallInput,
body.Exc input.DateBox,
body.Exc input[type=text],
body.Exc input[type=email],
body.Exc input[type=password],
body.Exc input[type=search],
body.Exc input[type=url],
body.Exc input[type=number],
body.Exc textarea,
body.Exc textarea.TextBox,
body.Exc select {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid var(--exc-border-strong);
    border-radius: var(--exc-radius-control);
    background: var(--exc-surface);
    box-shadow: none;
    color: var(--exc-text);
    font-family: var(--exc-font);
    font-size: 14px;
    line-height: 1.45;
    transition: border-color 0.12s ease, box-shadow 0.12s ease;
}

body.Exc textarea,
body.Exc textarea.TextBox {
    width: 100%;
    min-height: 120px;
}

body.Exc input.InputBox:focus,
body.Exc input[type=text]:focus,
body.Exc input[type=email]:focus,
body.Exc input[type=password]:focus,
body.Exc input[type=search]:focus,
body.Exc textarea:focus,
body.Exc select:focus {
    border-color: var(--exc-accent);
    box-shadow: 0 0 0 3px rgba(3, 105, 161, 0.15);
    outline: none;
}

body.Exc ::placeholder {
    color: var(--exc-muted);
    opacity: 1;
}

body.Exc label,
body.Exc .Label {
    color: var(--exc-heading);
    font-weight: 600;
}

body.Exc .CheckBoxLabel,
body.Exc .RadioLabel,
body.Exc label.CheckBoxLabel,
body.Exc label.RadioLabel {
    font-weight: 400;
    color: var(--exc-text);
}

body.Exc input[type=checkbox],
body.Exc input[type=radio] {
    accent-color: var(--exc-accent);
}

body.Exc .FormWrapper,
body.Exc .FormTitleWrapper .FormWrapper {
    padding: 24px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
    box-shadow: var(--exc-shadow);
}

body.Exc .FormWrapper ul li,
body.Exc form ul li.form-group,
body.Exc div.Popup form ul li {
    margin-bottom: 16px;
    list-style: none;
}

body.Exc .FormWrapper label,
body.Exc .FormWrapper .Label {
    display: block;
    margin-bottom: 6px;
}

body.Exc .FormWrapper input.InputBox,
body.Exc .FormWrapper input[type=text],
body.Exc .FormWrapper input[type=email],
body.Exc .FormWrapper input[type=password] {
    width: 100%;
}

body.Exc .Buttons .Button,
body.Exc .Buttons input.Button {
    width: auto;
}

body.Exc .FormWrapper-Condensed .Buttons,
body.Exc .Activity .Buttons {
    justify-content: flex-end;
}

body.Exc .Buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
}

body.Exc .Errors,
body.Exc div.Errors {
    margin: 0 0 16px;
    padding: 12px 16px;
    border: 1px solid #fecaca;
    border-radius: var(--exc-radius-control);
    background: #fef2f2;
    color: #991b1b;
}

body.Exc .Errors ul,
body.Exc .Errors li {
    margin: 0;
    padding: 0;
    list-style: none;
    background: none;
    border: 0;
    color: inherit;
}

body.Exc .Info,
body.Exc .Warning,
body.Exc .DismissMessage {
    border-radius: var(--exc-radius-control);
}

body.Exc .Info {
    margin: 0 0 16px;
    padding: 12px 16px;
    border: 1px solid var(--exc-accent-tint-2);
    background: var(--exc-accent-tint);
    color: var(--exc-text);
}

/* ========================================================== Layout */
.Exc-main {
    flex: 1 0 auto;
}

.Exc-layout {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
    padding-top: 36px;
    padding-bottom: 64px;
}

.Exc-content {
    flex: 999 1 560px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.Exc .Exc-content.Content {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
}

.Exc-noPanel .Exc-content {
    flex-basis: 100%;
}

.Exc-panel {
    flex: 1 1 280px;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    align-items: start;
    gap: 20px;
}

.Exc-panel > .Exc-search,
.Exc-panel > .BoxNewDiscussion,
.Exc-panel > .BoxButtons,
.Exc-panel > .GuestBox,
.Exc-panel > .Tags {
    grid-column: 1 / -1;
}

body.Exc .Exc-panel.Panel {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
}

/* Narrow forms (sign in, posting) */
body.Exc.Entry .Exc-content,
body.Exc.Post .Exc-content {
    max-width: 880px;
}

body.Exc.Entry.signin .Exc-content,
body.Exc.Entry.register .Exc-content,
body.Exc.Entry.passwordrequest .Exc-content,
body.Exc.Entry.passwordreset .Exc-content {
    max-width: 560px;
}

/* ========================================================== Footer */
.Exc-footer {
    background: var(--exc-surface);
    color: var(--exc-meta);
    border-top: 1px solid var(--exc-border);
}

.Exc-footerInner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px 24px;
    padding-top: 28px;
    padding-bottom: 28px;
}

body.Exc .Exc-footerMark {
    font-family: var(--exc-display);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: -0.02em;
    color: var(--exc-heading);
    text-decoration: none;
}

/* The Foot asset holds the analytics pocket; it must render but takes no space. */
.Exc-footerAsset {
    display: contents;
}

/* The forum's old "Strona główna" footer pocket duplicates the wordmark link. */
.Exc-footerAsset > center {
    display: none;
}

/* ========================================================== Page headings */
body.Exc .Exc-breadcrumbs {
    margin: -12px 0 -4px;
}

body.Exc .Breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 0;
    margin: 0;
    padding: 0;
    color: var(--exc-meta);
    font-size: 13px;
    line-height: 1.5;
    border: 0;
    background: none;
}

body.Exc .Breadcrumbs .CrumbLabel {
    display: inline-flex;
    align-items: center;
}

body.Exc .Breadcrumbs .CrumbLabel a {
    color: var(--exc-text-3);
    font-weight: 500;
}

body.Exc .Breadcrumbs .Last a {
    color: var(--exc-heading);
}

body.Exc .Breadcrumbs .Crumb {
    margin: 0 8px;
    color: var(--exc-disabled);
    font-size: 0;
}

body.Exc .Breadcrumbs .Crumb::before {
    content: "/";
    font-size: 13px;
}

body.Exc .HomepageTitle,
body.Exc .Exc-pageTitle,
body.Exc .FormTitleWrapper > h1,
body.Exc .Exc-content > .FormTitleWrapper > h1,
body.Exc .PageTitle h1,
body.Exc .Content > h1,
body.Exc .Exc-content > h1,
body.Exc .H.PageTitle,
body.Exc h1.H {
    margin: 0;
    font-family: var(--exc-display);
    font-size: 31px;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--exc-heading);
}

body.Exc .Content h2.H,
body.Exc .Content .DataBox h2,
body.Exc .Content h2.CommentHeading,
body.Exc .Content .Profile h2,
body.Exc .Content .BoxHeading {
    font-family: var(--exc-display);
    font-size: 25px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

body.Exc .PageDescription {
    margin: 0;
    max-width: 60em;
    color: var(--exc-text-3);
    font-size: 14px;
    line-height: 1.55;
}

.Exc-listHeader {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px 24px;
}

.Exc-listHeading {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

body.Exc .Exc-markRead {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 6px;
    color: var(--exc-meta);
    font-size: 13px;
    font-weight: 600;
}

body.Exc .Exc-markRead.is-busy {
    opacity: 0.6;
    pointer-events: none;
}

body.Exc .PageControls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px 16px;
    margin: 0;
    float: none;
}

body.Exc .PageControls.Bottom {
    justify-content: flex-end;
}

body.Exc .PageControls .NewDiscussion,
body.Exc .PagerNub {
    display: none;
}

/* ========================================================== Pager */
body.Exc .Pager {
    float: none;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    font-weight: 400;
}

body.Exc .Pager > a,
body.Exc .Pager > span {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-small);
    background: var(--exc-surface);
    color: var(--exc-text);
    font-size: 13px;
    line-height: 1;
    text-decoration: none;
}

body.Exc .Pager > a:hover {
    border-color: var(--exc-border-strong);
    background: var(--exc-bg);
    text-decoration: none;
}

body.Exc .Pager > a.Highlight,
body.Exc .Pager > a[aria-current=page] {
    border-color: var(--exc-heading);
    background: var(--exc-heading);
    color: #fafafa;
    font-weight: 700;
}

body.Exc .Pager > .Previous,
body.Exc .Pager > .Next {
    font-size: 14px;
}

body.Exc .Pager > span.Previous,
body.Exc .Pager > span.Next {
    color: var(--exc-disabled);
    background: transparent;
}

body.Exc .Pager > .Ellipsis {
    min-width: 22px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--exc-meta);
}

body.Exc .MorePager {
    float: none;
    margin: 0;
    padding: 12px 20px;
    text-align: center;
    border-top: 1px solid var(--exc-divider);
    font-size: 13px;
}

body.Exc .MorePager a {
    font-weight: 600;
}

/* ========================================================== Discussion list */
.Exc-listCard,
body.Exc .Exc-content > .DataList,
body.Exc .Exc-content .DataListWrap > .DataList,
body.Exc .Exc-content > .Discussions,
body.Exc .Profile .DataList,
body.Exc .Exc-content .DataTable {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
    box-shadow: var(--exc-shadow);
}

.Exc-listCard > .DataList {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.Exc-listColumns {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 20px;
    padding: 10px 20px;
    border-bottom: 1px solid var(--exc-border);
    background: var(--exc-surface-muted);
    color: var(--exc-meta);
    font-family: var(--exc-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.Exc-listColumns-topic {
    flex: 999 1 340px;
}

.Exc-listColumns-counts,
.Exc-counts {
    flex: 0 0 auto;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

.Exc-listColumns-counts > span {
    width: 92px;
    text-align: right;
}

.Exc-listColumns-counts > .Exc-listColumns-options {
    width: 40px;
}

body.Exc .DataList {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.Exc .DataList.Discussions > .Item,
body.Exc .Exc-listCard .DataList > .Item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
    margin: 0;
    padding: 15px 20px;
    border: 0;
    border-top: 1px solid var(--exc-divider);
    background: var(--exc-surface);
}

body.Exc .DataList.Discussions > .Item:first-child {
    border-top: 0;
}

body.Exc .DataList.Discussions > .Item.Announcement {
    background: var(--exc-accent-tint);
}

body.Exc .DataList.Discussions > .Item:hover {
    background: #fcfcfd;
}

body.Exc .DataList.Discussions > .Item.Announcement:hover {
    background: #ebf3f8;
}

body.Exc .DataList.Discussions > .Item.Read .Exc-discussionLink {
    color: var(--exc-text-2);
    font-weight: 500;
}

body.Exc .DataList.Discussions .ItemContent {
    flex: 999 1 340px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    padding: 0;
}

body.Exc .DataList.Discussions .Title {
    display: block;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.005em;
    color: var(--exc-heading);
    text-wrap: pretty;
}

body.Exc .DataList.Discussions .Title .Exc-icon {
    display: inline-block;
    margin-right: 6px;
    vertical-align: -2px;
    color: var(--exc-accent);
}

body.Exc .DataList.Discussions .Title .Exc-icon-lock {
    color: var(--exc-meta);
}

body.Exc .DataList.Discussions .Title a {
    color: var(--exc-heading);
}

body.Exc .DataList.Discussions .Title .AdminCheck {
    margin-right: 6px;
}

.Exc-badge {
    display: inline-block;
    margin-left: 8px;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--exc-accent);
    color: #fff;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: 0;
    vertical-align: 1px;
    white-space: nowrap;
}

.Exc-badge-outline {
    box-sizing: border-box;
    border: 1px solid var(--exc-accent);
    background: transparent;
    color: var(--exc-accent);
    line-height: 18px;
}

body.Exc .Meta,
body.Exc .Meta-Discussion,
body.Exc .Meta-Discussion a {
    color: var(--exc-meta);
    font-size: 12.5px;
    line-height: 1.5;
}

body.Exc .Meta-Discussion {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 2px;
    margin: 0;
}

body.Exc .Meta-Discussion .MItem {
    margin: 0;
    white-space: nowrap;
}

body.Exc .Meta-Discussion .MItem.Category a,
body.Exc .Meta-Discussion .LastCommentBy a {
    color: var(--exc-text-2);
    font-weight: 600;
}

body.Exc .Meta-Discussion .Exc-sep {
    color: var(--exc-meta);
}

body.Exc .Exc-label,
body.Exc .Meta .Exc-label {
    color: var(--exc-accent);
    font-family: var(--exc-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.Exc .Meta .Tag-Closed {
    color: var(--exc-meta);
}

.Exc-count .Exc-icon {
    display: none;
    color: var(--exc-meta);
}

.Exc-count {
    display: block;
    width: 92px;
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.Exc-count-comments {
    color: var(--exc-text);
    font-size: 15px;
    font-weight: 600;
}

.Exc-count-views {
    color: var(--exc-meta);
    font-size: 14px;
}

body.Exc .Exc-counts .Options {
    float: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 40px;
    margin: 0;
    position: static;
}

body.Exc .Exc-bookmark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--exc-radius-control);
    background: none;
    color: var(--exc-icon);
    text-indent: 0;
    overflow: visible;
}

body.Exc .Exc-bookmark:hover {
    background: var(--exc-bg);
    color: var(--exc-heading);
    text-decoration: none;
}

body.Exc .Exc-bookmark.Bookmarked {
    color: var(--exc-accent);
}

body.Exc .Exc-bookmark.Bookmarked svg {
    fill: currentColor;
}

body.Exc .DataList .Empty,
body.Exc .DataList > li.Empty {
    border: 0;
    border-radius: 0;
}

body.Exc .Exc-empty,
body.Exc .Empty {
    padding: 32px 24px;
    border: 1px dashed var(--exc-border-strong);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
    color: var(--exc-meta);
    text-align: center;
}

/* Options menus (discussion, comment, profile) */
body.Exc .ToggleFlyout {
    position: relative;
}

/* The trigger keeps its aria-label; the core gear sprite and text are hidden. */
body.Exc .OptionsMenu .OptionsTitle,
body.Exc .Button-Options .OptionsTitle {
    display: none;
}

body.Exc .Options .ToggleFlyout,
body.Exc .Options .OptionsMenu {
    margin: 0;
    padding: 0;
}

body.Exc .Button-Options,
body.Exc .OptionsMenu > .Button-Options {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: var(--exc-radius-control);
    color: var(--exc-icon);
    cursor: pointer;
}

body.Exc .Button-Options:hover,
body.Exc .ToggleFlyout.Open .Button-Options {
    background: var(--exc-bg);
    color: var(--exc-heading);
}

body.Exc .Button-Options .SpFlyoutHandle,
body.Exc .Button-Options .Arrow {
    display: block;
    width: 18px;
    height: 18px;
    margin: 0;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3C/svg%3E") center / contain no-repeat;
    opacity: 1;
}

/* ========================================================== Flyouts */
body.Exc .Flyout,
body.Exc .MenuItems {
    z-index: 100;
}

body.Exc .ToggleFlyout .Flyout {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: auto;
    box-sizing: border-box;
    min-width: 220px;
    margin: 0;
    padding: 6px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
    box-shadow: var(--exc-shadow-pop);
    color: var(--exc-text);
    font-size: 14px;
    line-height: 1.4;
    text-align: left;
}

body.Exc .ToggleFlyout.Open .Flyout {
    display: block;
}

body.Exc .Exc-meBox .ToggleFlyout .FlyoutMenu {
    width: 360px;
    max-width: calc(100vw - 32px);
    max-height: min(70vh, 560px);
    overflow-y: auto;
    padding: 0;
}

body.Exc .MenuItems {
    list-style: none;
}

body.Exc .MenuItems li {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.Exc .MenuItems a,
body.Exc .MenuItems .dropdown-menu-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 36px;
    padding: 0 12px;
    border-radius: var(--exc-radius-small);
    color: var(--exc-text);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    text-decoration: none;
    white-space: nowrap;
}

body.Exc .MenuItems a:hover,
body.Exc .MenuItems a:focus {
    background: var(--exc-bg);
    color: var(--exc-heading);
    text-decoration: none;
}

body.Exc .MenuItems .Alert {
    position: static;
    box-shadow: none;
}

body.Exc .MenuItems hr {
    height: 1px;
    margin: 6px 0;
    border: 0;
    background: var(--exc-divider);
}

body.Exc .MenuItems .dropdown-header {
    padding: 8px 12px 4px;
    color: var(--exc-meta);
    font-family: var(--exc-mono);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.Exc .link-signout {
    margin-top: 4px;
    padding-top: 4px;
    border-top: 1px solid var(--exc-divider);
}

body.Exc .Flyout .SpFlyoutHandle,
body.Exc .ToggleFlyout > .Arrow,
body.Exc .ToggleFlyout > .SpFlyoutHandle {
    display: none;
}

/* Notification / inbox / bookmark popins */
body.Exc .FlyoutMenu .Item {
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid var(--exc-divider);
}

body.Exc .FlyoutMenu .Item:last-child {
    border-bottom: 0;
}

body.Exc .FlyoutMenu .Item.Item-Header,
body.Exc .FlyoutMenu .Item-Header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    background: var(--exc-surface-muted);
    color: var(--exc-heading);
    font-weight: 600;
}

body.Exc .FlyoutMenu .Item-Header a {
    font-size: 13px;
    font-weight: 600;
}

body.Exc .FlyoutMenu .Item.Center,
body.Exc .FlyoutMenu .Item-Footer {
    padding: 10px 14px;
    text-align: center;
}

body.Exc .FlyoutMenu .Author,
body.Exc .FlyoutMenu .PhotoWrap {
    float: left;
    margin-right: 10px;
}

body.Exc .FlyoutMenu .ProfilePhoto,
body.Exc .FlyoutMenu .ProfilePhotoSmall {
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

body.Exc .FlyoutMenu .ItemContent {
    overflow: hidden;
    font-size: 13.5px;
}

body.Exc .FlyoutMenu .Meta {
    margin-top: 2px;
    font-size: 12px;
}

body.Exc .FlyoutMenu .Item.Unread,
body.Exc .FlyoutMenu .Item.Activity.Unread {
    background: var(--exc-accent-tint);
}

/* ========================================================== Side panel */
.Exc-search {
    position: relative;
    margin: 0;
}

body.Exc .Exc-search input {
    width: 100%;
    height: 44px;
    padding: 0 44px 0 14px;
}

body.Exc .Exc-search button {
    position: absolute;
    top: 2px;
    right: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: var(--exc-radius-small);
    background: transparent;
    color: var(--exc-meta);
    cursor: pointer;
}

body.Exc .Exc-search button:hover {
    color: var(--exc-heading);
}

body.Exc .Exc-panel .Box,
body.Exc .Exc-panel .BoxFilter,
body.Exc .Exc-panel .PanelInfo {
    margin: 0;
}

body.Exc .Exc-panel .Box,
body.Exc .Exc-panel .BoxFilter {
    padding: 16px 8px 8px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
}

body.Exc .Exc-panel .Box h4,
body.Exc .Exc-panel .Box h2,
body.Exc .Exc-panel .Box .BoxHeading,
body.Exc .Exc-panel .BoxFilter-Heading,
body.Exc .Exc-panel .Box > .H {
    margin: 2px 12px 8px;
    font-family: var(--exc-mono);
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--exc-meta);
}

/* Quick links heading is visually hidden by core; the design shows it. */
body.Exc .Exc-panel .BoxFilter-HeadingWrap.sr-only {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
}

body.Exc .Exc-panel .FilterMenu,
body.Exc .Exc-panel .PanelInfo {
    display: flex;
    flex-direction: column;
    gap: 1px;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 0;
}

body.Exc .Exc-panel .FilterMenu li,
body.Exc .Exc-panel .PanelInfo li {
    display: flex;
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}

body.Exc .Exc-panel .FilterMenu li a,
body.Exc .Exc-panel .PanelInfo li a {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    min-height: 38px;
    padding: 0 12px;
    border-radius: var(--exc-radius-small);
    color: var(--exc-text);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    text-decoration: none;
}

body.Exc .Exc-panel .FilterMenu li a:hover,
body.Exc .Exc-panel .PanelInfo li a:hover {
    background: var(--exc-bg);
    color: var(--exc-heading);
}

body.Exc .Exc-panel .FilterMenu li.Active a,
body.Exc .Exc-panel .PanelInfo li.Active a {
    background: var(--exc-accent-tint);
    color: var(--exc-accent);
    font-weight: 700;
}

body.Exc .Exc-panel .FilterMenu .Sprite,
body.Exc .Exc-panel .PanelInfo .Sprite {
    display: none;
}

/* Quick links are already in the panel; some views repeat them in the content. */
body.Exc.Exc-hasPanel .Exc-content .BoxDiscussionFilter {
    display: none;
}

body.Exc .Exc-panel .UserBox {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 14px 16px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
    overflow: hidden;
}

body.Exc .Exc-panel .UserBox .PhotoWrap {
    flex: none;
    float: none;
    margin: 0;
}

body.Exc .Exc-panel .UserBox .ProfilePhoto {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

body.Exc .Exc-panel .UserBox .WhoIs {
    min-width: 0;
}

body.Exc .Exc-panel .UserBox .Username {
    display: block;
    overflow: hidden;
    color: var(--exc-heading);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.Exc .Exc-panel .UserBox .Email {
    overflow: hidden;
    color: var(--exc-meta);
    font-size: 12.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.Exc .Exc-panel .Aside {
    order: 2;
    float: none;
    margin-left: auto;
    color: var(--exc-meta);
    font-size: 12.5px;
    font-weight: 400;
    font-variant-numeric: tabular-nums;
}

body.Exc .Exc-panel .Aside .Count,
body.Exc .Exc-panel .Count {
    padding: 0;
    background: none;
    color: var(--exc-meta);
    font-size: 12.5px;
    font-weight: 400;
}

body.Exc .Exc-panel .PanelInfo li.Heading {
    padding: 10px 12px 4px;
    color: var(--exc-meta);
    font-size: 12.5px;
    font-weight: 600;
}

body.Exc .Exc-panel .PanelInfo li.Depth2 a {
    padding-left: 24px;
}

body.Exc .Exc-panel .PanelInfo li.Depth3 a {
    padding-left: 36px;
}

/* New discussion */
body.Exc .Exc-panel .BoxNewDiscussion,
body.Exc .Exc-panel .BoxButtons {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}

body.Exc .Exc-panel .BoxNewDiscussion .Button,
body.Exc .Exc-panel .BoxButtons .Button,
body.Exc .Exc-panel a.Button.NewDiscussion,
body.Exc .Exc-panel a.Button.NewConversation,
body.Exc .Exc-panel .Button-NewDiscussion {
    display: flex;
    width: 100%;
    height: 46px;
    border-color: var(--exc-accent);
    background: var(--exc-accent);
    box-shadow: 0 1px 2px rgba(24, 24, 27, 0.15);
    color: #fff;
    font-size: 14.5px;
}

body.Exc .Exc-panel .BoxNewDiscussion .Button::before,
body.Exc .Exc-panel a.Button.NewDiscussion::before {
    content: "";
    width: 17px;
    height: 17px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.Exc .Exc-panel .BoxNewDiscussion .Button:hover {
    border-color: var(--exc-accent-hover);
    background: var(--exc-accent-hover);
}

body.Exc .Exc-panel .BoxNewDiscussion .ButtonGroup {
    display: flex;
    width: 100%;
}

body.Exc .Exc-panel .BoxNewDiscussion .ButtonGroup .Dropdown {
    display: none;
}

/* Guest box */
body.Exc .Exc-panel .GuestBox {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
}

body.Exc .Exc-panel .GuestBox .GuestBox-title,
body.Exc .Exc-panel .GuestBox h4 {
    margin: 0;
    font-family: var(--exc-display);
    font-size: 25px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-transform: none;
    color: var(--exc-heading);
}

body.Exc .Exc-panel .Box.GuestBox p,
body.Exc .Exc-panel .Box.GuestBox > .P {
    margin: 0;
    color: var(--exc-text-2);
    font-size: 13.5px;
    line-height: 1.55;
}

body.Exc .Exc-panel .GuestBox-beforeSignInButton:not(:has(*)) {
    display: none;
}

body.Exc .Exc-panel .Box.GuestBox > .GuestBox-buttons {
    display: flex;
    gap: 8px;
    margin: 6px 0 0;
}

body.Exc .Exc-panel .GuestBox-buttons .Button {
    flex: 1 1 0;
    height: 42px;
    padding: 0 10px;
}

body.Exc .Exc-panel .GuestBox-buttons .Button.Primary {
    order: 0;
    border-color: var(--exc-border-strong);
    background: var(--exc-surface);
    color: var(--exc-heading);
}

body.Exc .Exc-panel .GuestBox-buttons .ApplyButton {
    order: 1;
    border-color: var(--exc-accent);
    background: var(--exc-accent);
    color: #fff;
}

/* Tags */
body.Exc .Exc-panel .Box.Tags {
    padding: 16px 20px 20px;
}

body.Exc .Exc-panel .Box.Tags h4 {
    margin: 2px 0 12px;
}

body.Exc .TagCloud {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.Exc .TagCloud li {
    display: flex;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
}

body.Exc .TagCloud li a,
body.Exc .InlineTags li a,
body.Exc a.Tag {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 10px;
    border: 1px solid var(--exc-border);
    border-radius: 999px;
    background: var(--exc-bg);
    color: var(--exc-text-2);
    font-size: 12.5px;
    font-weight: 400;
    text-decoration: none;
}

body.Exc .TagCloud li a:hover,
body.Exc .InlineTags li a:hover {
    border-color: var(--exc-border-strong);
    background: #ebebee;
    color: var(--exc-heading);
}

body.Exc .TagCloud .Count {
    padding: 0;
    background: none;
    color: var(--exc-meta);
    font-size: 11.5px;
}

/* Other panel modules (bookmarks, in this discussion, profile boxes) */
body.Exc .Exc-panel .Box .PanelInfo li a .Aside,
body.Exc .Exc-panel .Box .PanelDiscussions .Meta {
    color: var(--exc-meta);
}

body.Exc .Exc-panel .Box .DataList,
body.Exc .Exc-panel .Box .PanelDiscussions,
body.Exc .Exc-panel .Box .PanelActivity {
    margin: 0;
    padding: 0 4px;
    border: 0;
    box-shadow: none;
}

body.Exc .Exc-panel .Box .DataList .Item,
body.Exc .Exc-panel .Box .PanelDiscussions .Item {
    padding: 8px;
    border: 0;
    border-bottom: 1px solid var(--exc-divider);
}

body.Exc .Exc-panel .Box .DataList .Item:last-child {
    border-bottom: 0;
}

body.Exc .Exc-panel .Box .DataList .Title,
body.Exc .Exc-panel .Box .PanelDiscussions .Title {
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.35;
}

body.Exc .Exc-panel .Box .DataList .Title a {
    color: var(--exc-heading);
}

body.Exc .Exc-panel .Box .MItem {
    margin: 0 6px 0 0;
}

body.Exc .Exc-panel .Box .Options,
body.Exc .Exc-panel .Box .Bookmark {
    display: none;
}

body.Exc .Exc-panel .Box p,
body.Exc .Exc-panel .Box > .P {
    margin: 0 12px 8px;
    color: var(--exc-text-2);
    font-size: 13.5px;
}

body.Exc .Exc-panel .Box .MorePager,
body.Exc .Exc-panel .Box .More {
    padding: 8px 12px 4px;
    border: 0;
    text-align: left;
}

/* ========================================================== Categories page */
body.Exc .Exc-content .DataList.CategoryList,
body.Exc .Exc-content .CategoryTable,
body.Exc .Exc-content .DataTable {
    margin: 0;
}

body.Exc .DataList.CategoryList > .Item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 20px;
    margin: 0;
    padding: 16px 20px;
    border: 0;
    border-top: 1px solid var(--exc-divider);
}

body.Exc .DataList.CategoryList > .Item:first-child {
    border-top: 0;
}

body.Exc .DataList.CategoryList > .Item-Heading,
body.Exc .DataList.CategoryList > .Item.Heading {
    background: var(--exc-surface-muted);
    color: var(--exc-meta);
    font-family: var(--exc-mono);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.Exc .DataList.CategoryList .ItemContent {
    flex: 999 1 320px;
    min-width: 0;
}

body.Exc .DataList.CategoryList .Title,
body.Exc .DataTable .Title,
body.Exc .DataTable .CategoryName .Title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

body.Exc .DataList.CategoryList .Title a,
body.Exc .DataTable .Title a {
    color: var(--exc-heading);
}

body.Exc .DataList.CategoryList .CategoryDescription,
body.Exc .DataTable .CategoryDescription {
    margin-top: 2px;
    color: var(--exc-text-3);
    font-size: 13.5px;
    line-height: 1.5;
}

body.Exc .DataList.CategoryList .Meta,
body.Exc .DataTable .Meta {
    margin-top: 4px;
}

body.Exc .DataList.CategoryList .MItem {
    margin: 0 10px 0 0;
}

body.Exc .DataList.CategoryList .Meta .MItem {
    white-space: normal;
}

body.Exc .DataList.CategoryList .RSS,
body.Exc .DataList.CategoryList .MItem-RSS {
    display: none;
}

body.Exc .DataList.CategoryList .Depth2,
body.Exc .DataList.CategoryList .Depth3 {
    padding-left: 40px;
}

body.Exc .DataList.CategoryList .ChildCategories,
body.Exc .DataTable .ChildCategories {
    margin-top: 6px;
    color: var(--exc-meta);
    font-size: 13px;
}

/* Data tables (category table layout, drafts, search, profile lists) */
body.Exc .DataTable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

body.Exc .DataTable thead td,
body.Exc .DataTable thead th {
    padding: 10px 16px;
    border-bottom: 1px solid var(--exc-border);
    background: var(--exc-surface-muted);
    color: var(--exc-meta);
    font-family: var(--exc-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-align: left;
    text-transform: uppercase;
}

body.Exc .DataTable tbody td {
    padding: 14px 16px;
    border-top: 1px solid var(--exc-divider);
    vertical-align: middle;
}

body.Exc .DataTable tbody tr:first-child td {
    border-top: 0;
}

body.Exc .DataTable .BigCount,
body.Exc .DataTable .CountDiscussions,
body.Exc .DataTable .CountComments {
    text-align: right;
    font-variant-numeric: tabular-nums;
    color: var(--exc-text);
    font-weight: 600;
}

body.Exc .DataTable .BlockColumn .Block,
body.Exc .DataTable .LatestPost {
    color: var(--exc-meta);
    font-size: 12.5px;
}

/* ========================================================== Discussion page */
body.Exc .Exc-content > .MessageList.Discussion,
body.Exc .Exc-content .MessageList.Discussion {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
    padding: 0;
}

body.Exc .PageTitle,
body.Exc .pageHeadingBox.PageTitle {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 0;
    border: 0;
}

body.Exc .PageTitle h1 {
    flex: 1 1 320px;
    min-width: 0;
    font-size: 36px;
    line-height: 1.08;
    text-wrap: balance;
}

body.Exc .PageTitle .Options {
    float: none;
    display: flex;
    align-items: center;
    gap: 2px;
    margin: 0;
}

body.Exc .PageTitle .Options .Exc-bookmark {
    width: 36px;
    height: 36px;
}

body.Exc .MessageList.Discussion > .ItemDiscussion,
body.Exc .MessageList.Comments > .ItemComment,
body.Exc .DataList.Comments > .ItemComment,
body.Exc .MessageList.Conversation > .Item,
body.Exc .ConversationMessages > .Item {
    margin: 0;
    padding: 16px 20px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
    box-shadow: var(--exc-shadow);
}

body.Exc .MessageList.Discussion > .ItemDiscussion {
    border-top: 3px solid var(--exc-accent);
}

body.Exc .CommentsWrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 8px;
}

body.Exc .CommentsWrap > .BeforeCommentHeading,
body.Exc .CommentsWrap .AfterComments,
body.Exc .P.PagerWrap,
body.Exc .PagerWrap {
    display: flex;
    justify-content: flex-end;
    float: none;
    margin: 0;
}

body.Exc .DataBox-Comments {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
}

body.Exc .DataBox-Comments > .CommentHeading {
    margin: 4px 0 0;
}

/* Comments are separate cards, slightly tighter than the opening post. */
body.Exc .MessageList.Comments,
body.Exc .DataList.Comments {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    overflow: visible;
}

body.Exc .MessageList.Comments > .ItemComment,
body.Exc .DataList.Comments > .ItemComment {
    padding: 14px 20px;
}

body.Exc .ItemDiscussion.Mine {
    border-color: var(--exc-border);
}

body.Exc .ItemComment.isTarget,
body.Exc .ItemComment:target {
    border-color: var(--exc-accent);
    box-shadow: 0 0 0 3px rgba(3, 105, 161, 0.15);
}

body.Exc .Item.Ignored,
body.Exc .Item .Ignored {
    opacity: 0.7;
}

/* Author name and post meta form one block, vertically centred on the avatar. */
body.Exc .Item-Header {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1px;
    min-height: 40px;
    margin: 0 0 12px;
    padding: 0 44px 0 52px;
}

body.Exc .Item-Header .AuthorWrap {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 8px;
    min-width: 0;
    line-height: 1.35;
}

body.Exc .Item-Header .Author {
    display: inline;
    min-width: 0;
}

body.Exc .Item-Header .PhotoWrap {
    position: absolute;
    top: 50%;
    left: 0;
    float: none;
    margin: 0;
    transform: translateY(-50%);
}

body.Exc .Item-Header .ProfilePhoto,
body.Exc .Item-Header .ProfilePhotoMedium {
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--exc-bg);
    box-shadow: 0 0 0 1px var(--exc-border);
}

body.Exc .Item-Header .Username {
    color: var(--exc-heading);
    font-size: 15px;
    font-weight: 700;
}

body.Exc .Item-Header .AuthorInfo {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    color: var(--exc-meta);
    font-size: 12.5px;
}

body.Exc .Item-Header .AuthorInfo:empty {
    display: none;
}

body.Exc .Item-Header .Meta,
body.Exc .Item-Header .CommentMeta,
body.Exc .Item-Header .DiscussionMeta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 10px;
    margin: 0;
    padding: 0;
    color: var(--exc-meta);
    font-size: 12.5px;
    line-height: 1.4;
}

body.Exc .Item-Header .Meta .MItem {
    margin: 0;
    white-space: nowrap;
}

body.Exc .Item-Header .Meta a {
    color: var(--exc-meta);
}

body.Exc .Item-Header .Meta .Category a {
    color: var(--exc-text-2);
    font-weight: 600;
}

body.Exc .Item .Options,
body.Exc .Comment .Options,
body.Exc .Discussion .Options {
    float: none;
}

body.Exc .ItemComment .Comment > .Options,
body.Exc .ItemDiscussion .Discussion > .Options,
body.Exc .ItemComment > .Comment .Options:first-child {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    margin: 0;
}

body.Exc .ItemComment,
body.Exc .ItemDiscussion {
    position: relative;
}

body.Exc .Item-BodyWrap {
    margin: 0;
    padding: 0;
}

body.Exc .Item-Body {
    margin: 0;
}

/* Post content */
body.Exc .Message,
body.Exc .userContent {
    margin: 0;
    color: var(--exc-text);
    font-size: 15.5px;
    line-height: 1.65;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

body.Exc .userContent p,
body.Exc .Message p {
    margin: 0 0 0.9em;
}

body.Exc .userContent > :last-child {
    margin-bottom: 0;
}

/* Core pulls a post's first block up by 0.25em; keep spacing the same for
   posts that start with a paragraph and those that start with plain text. */
body.Exc .userContent > *:first-child:not(.emoji):not(br):not(.embedExternal) {
    margin-top: 0 !important;
}

body.Exc .userContent a {
    color: var(--exc-accent);
    text-decoration: underline;
    text-decoration-color: rgba(3, 105, 161, 0.35);
    text-underline-offset: 2px;
}

body.Exc .userContent a:hover {
    text-decoration-color: currentColor;
}

body.Exc .userContent img,
body.Exc .Message img {
    max-width: 100%;
    height: auto;
    border-radius: var(--exc-radius-small);
}

body.Exc .userContent img.emoji,
body.Exc .Message img.emoji {
    border-radius: 0;
    vertical-align: -3px;
}

body.Exc .userContent h1, body.Exc .userContent h2, body.Exc .userContent h3,
body.Exc .userContent h4, body.Exc .userContent h5, body.Exc .userContent h6 {
    margin: 1.2em 0 0.5em;
    font-family: var(--exc-font);
    font-weight: 700;
    line-height: 1.3;
}

body.Exc .userContent h1 { font-size: 1.45em; }
body.Exc .userContent h2 { font-size: 1.3em; }
body.Exc .userContent h3 { font-size: 1.15em; }

body.Exc .userContent ul,
body.Exc .userContent ol {
    margin: 0 0 0.9em;
    padding-left: 1.5em;
}

body.Exc .userContent ul { list-style: disc; }
body.Exc .userContent ol { list-style: decimal; }

body.Exc .userContent li {
    margin: 0.2em 0;
}

body.Exc .userContent blockquote,
body.Exc .userContent .Quote,
body.Exc .userContent .UserQuote,
body.Exc .Message blockquote {
    margin: 0 0 0.9em;
    padding: 10px 16px;
    border: 0;
    border-left: 3px solid var(--exc-accent);
    border-radius: 0 var(--exc-radius-small) var(--exc-radius-small) 0;
    background: var(--exc-bg);
    color: var(--exc-text-2);
    font-size: 0.95em;
}

body.Exc .userContent blockquote blockquote {
    border-left-color: var(--exc-border-strong);
    background: rgba(255, 255, 255, 0.6);
}

body.Exc .userContent .QuoteAuthor,
body.Exc .userContent blockquote .QuoteAuthor {
    display: block;
    margin-bottom: 4px;
    color: var(--exc-heading);
    font-size: 13px;
    font-weight: 700;
}

body.Exc .userContent code,
body.Exc .userContent pre,
body.Exc .Message code,
body.Exc .Message pre {
    font-family: var(--exc-mono);
    font-size: 0.87em;
}

body.Exc .userContent code {
    padding: 2px 5px;
    border-radius: 4px;
    background: var(--exc-bg);
}

body.Exc .userContent pre {
    margin: 0 0 0.9em;
    padding: 12px 14px;
    overflow-x: auto;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-small);
    background: var(--exc-surface-muted);
}

body.Exc .userContent pre code {
    padding: 0;
    background: none;
}

body.Exc .userContent hr {
    height: 1px;
    margin: 1.2em 0;
    border: 0;
    background: var(--exc-border);
}

body.Exc .userContent table {
    max-width: 100%;
    margin: 0 0 0.9em;
    border-collapse: collapse;
    font-size: 0.93em;
}

body.Exc .userContent th,
body.Exc .userContent td {
    padding: 6px 10px;
    border: 1px solid var(--exc-border);
}

body.Exc .userContent iframe,
body.Exc .userContent video,
body.Exc .userContent .VideoWrap,
body.Exc .userContent .embedExternal,
body.Exc .userContent .embed-image {
    max-width: 100%;
}

body.Exc .userContent .Spoiler,
body.Exc .userContent .UserSpoiler {
    margin: 0 0 0.9em;
    padding: 10px 14px;
    border: 1px dashed var(--exc-border-strong);
    border-radius: var(--exc-radius-small);
    background: var(--exc-surface-muted);
}

/* Tags, reactions, signatures and attachments under posts */
body.Exc .InlineTags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 16px 0 0;
    color: var(--exc-meta);
    font-size: 12.5px;
}

body.Exc .InlineTags ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
}

body.Exc .InlineTags li {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.Exc .Reactions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 16px 0 0;
    padding: 0;
    border: 0;
    background: none;
}

/* Logged-out visitors and posts without buttons get an empty reactions row. */
body.Exc .Reactions:not(:has(a)):not(:has(.ReactionRecord)) {
    display: none;
}

body.Exc .Reactions .ReactMenu,
body.Exc .Reactions .ReactButtons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

body.Exc .Reactions a.ReactButton,
body.Exc .Reactions .ReactButton {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid var(--exc-border);
    border-radius: 999px;
    background: var(--exc-surface);
    color: var(--exc-text-3);
    font-size: 12.5px;
    font-weight: 500;
    text-decoration: none;
}

body.Exc .Reactions a.ReactButton:hover {
    border-color: var(--exc-border-strong);
    background: var(--exc-bg);
    color: var(--exc-heading);
}

body.Exc .Reactions .ReactButton .ReactLabel {
    margin: 0;
}

body.Exc .Reactions .ReactButton .Count {
    padding: 0;
    border-radius: 0;
    background: none;
    color: var(--exc-heading);
    font-size: 12.5px;
    font-weight: 700;
}

body.Exc .Reactions .Bullet {
    display: none;
}

body.Exc .Reactions .ReactSprite {
    flex: none;
}

body.Exc .Reactions .ReactionRecord {
    display: inline-flex;
    margin: 0 2px 0 0;
}

body.Exc .Reactions .ReactionRecord img,
body.Exc .Reactions .ReactionRecord .ProfilePhoto {
    width: 22px;
    height: 22px;
    border-radius: 50%;
}

body.Exc .Reactions .Column-Score,
body.Exc .Reactions .Hidden {
    display: none;
}

body.Exc .Reactions .FlagMenu .ReactButton,
body.Exc .Reactions .Flag {
    color: var(--exc-meta);
}

/* Who-reacted popup shown above a reaction count (Reactions plugin, "popup" mode).
   Core and plugin rules use !important on links, hence the overrides. */
body.Exc .MenuItems-Reactions {
    position: absolute;
    z-index: 120;
    box-sizing: border-box;
    width: 180px;
    margin: 0 0 8px;
    padding: 4px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-control);
    background: var(--exc-surface);
    box-shadow: var(--exc-shadow-pop);
    color: var(--exc-text);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    text-align: left;
    cursor: default;
}

body.Exc .MenuItems-Reactions.Up::before,
body.Exc .MenuItems-Reactions.Up::after {
    left: calc(50% - 6px);
    border-top: 6px solid var(--exc-border);
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    bottom: -6px;
}

body.Exc .MenuItems-Reactions.Up::after {
    border-top-color: var(--exc-surface);
    bottom: -5px;
}

body.Exc .MenuItems-Reactions ul {
    max-height: 232px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
}

body.Exc .MenuItems-Reactions li {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    margin: 0;
    padding: 4px 6px;
    border-radius: var(--exc-radius-small);
}

body.Exc .MenuItems-Reactions li:hover {
    background: var(--exc-bg);
}

body.Exc .MenuItems-Reactions a,
body.Exc .MenuItems-Reactions a:hover {
    display: inline-flex !important;
    align-items: center;
    min-height: 0;
    padding: 0 !important;
    border-radius: 0;
    background: none;
    text-decoration: none;
}

body.Exc .MenuItems-Reactions .PhotoWrap {
    flex: none;
    float: none;
    margin: 0;
}

body.Exc .MenuItems-Reactions .ProfilePhotoSmall,
body.Exc .MenuItems-Reactions .ProfilePhoto {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 0 1px var(--exc-border);
}

body.Exc .MenuItems-Reactions .Username {
    display: block !important;
    overflow: hidden;
    color: var(--exc-heading);
    font-size: 13px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.Exc .MenuItems-Reactions .TinyProgress {
    padding: 10px 0;
}

/* Reaction icons: stroke icons instead of the core bitmap sprites. Any reaction
   type without its own icon falls back to a neutral sparkle. */
body.Exc .ReactSprite {
    --exc-react-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.9 5.8L20 10l-6.1 1.2L12 17l-1.9-5.8L4 10l6.1-1.2z'/%3E%3C/svg%3E");
    display: inline-block;
    flex: none;
    width: 15px;
    height: 15px;
    margin: 0;
    background: currentColor;
    background-image: none !important;
    vertical-align: -3px;
    -webkit-mask: var(--exc-react-icon) center / contain no-repeat;
    mask: var(--exc-react-icon) center / contain no-repeat;
}

body.Exc .ReactSprite.ReactFlag {
    --exc-react-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/%3E%3Cpath d='M4 22v-7'/%3E%3C/svg%3E");
}

body.Exc .ReactSprite.ReactQuote {
    --exc-react-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 6H3'/%3E%3Cpath d='M21 12H8'/%3E%3Cpath d='M21 18H8'/%3E%3Cpath d='M3 12v6'/%3E%3C/svg%3E");
}

body.Exc .ReactSprite.ReactLike {
    --exc-react-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10v12'/%3E%3Cpath d='M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z'/%3E%3C/svg%3E");
}

body.Exc .ReactSprite.ReactDislike {
    --exc-react-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 14V2'/%3E%3Cpath d='M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z'/%3E%3C/svg%3E");
}

body.Exc .ReactSprite.ReactSpam {
    --exc-react-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m4.9 4.9 14.2 14.2'/%3E%3C/svg%3E");
}

body.Exc .ReactSprite.ReactAbuse {
    --exc-react-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
}

body.Exc .Signature,
body.Exc .UserSignature {
    margin: 16px 0 0;
    padding-top: 10px;
    border-top: 1px solid var(--exc-divider);
    color: var(--exc-meta);
    font-size: 13px;
    line-height: 1.5;
}

body.Exc .Signature img,
body.Exc .UserSignature img {
    max-height: 120px;
}

body.Exc .Attachments,
body.Exc .editor-upload-saved {
    margin-top: 12px;
}

/* Comment form */
body.Exc .CommentForm,
body.Exc .MessageForm,
body.Exc .Foot,
body.Exc .Exc-content > .FormWrapper {
    margin: 0;
}

body.Exc .MessageForm.CommentForm,
body.Exc .CommentForm .FormWrapper,
body.Exc .DiscussionForm .FormWrapper,
body.Exc .ConversationForm .FormWrapper {
    padding: 20px 24px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
    box-shadow: var(--exc-shadow);
}

body.Exc .MessageForm.CommentForm .FormWrapper {
    padding: 0;
    border: 0;
    box-shadow: none;
}

body.Exc .CommentForm h2,
body.Exc .CommentForm .H {
    margin: 0 0 12px;
    font-family: var(--exc-display);
    font-size: 25px;
    font-weight: 400;
    letter-spacing: -0.02em;
}

body.Exc .Foot.Closed,
body.Exc .Note.Closed,
body.Exc .SignInOrRegister {
    padding: 18px 24px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
    color: var(--exc-text-2);
    font-size: 14px;
    text-align: center;
}

body.Exc .Foot.Closed .Note.Closed {
    padding: 0;
    border: 0;
    background: none;
}

body.Exc .Foot.Closed a,
body.Exc .SignInOrRegister a {
    font-weight: 600;
}

body.Exc .CommentForm .Form-HeaderWrap {
    display: none;
}

body.Exc .CommentForm .Buttons,
body.Exc .DiscussionForm .Buttons {
    justify-content: flex-end;
}

body.Exc .CommentForm .Buttons .Button,
body.Exc .DiscussionForm .Buttons .Button {
    width: auto;
    margin: 0;
}

body.Exc .CommentForm .Buttons .Back,
body.Exc .CommentForm .Buttons > a:not(.Button) {
    margin-right: auto;
    font-size: 13px;
}

body.Exc .CommentForm .Buttons .Cancel,
body.Exc .Buttons .Cancel {
    margin-right: auto;
}

/* Editor plugin */
body.Exc .editor {
    border: 0;
}

body.Exc .editor .editor-dropdown,
body.Exc .editor .editor-action {
    color: var(--exc-text-3);
}

body.Exc .bodybox-wrap,
body.Exc .TextBoxWrapper {
    margin: 0;
}

body.Exc .bodybox-wrap .editor,
body.Exc .editor-format-markdown,
body.Exc .editor-format-text,
body.Exc .editor-format-html,
body.Exc .editor-format-bbcode {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin: 0 0 8px;
    padding: 4px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-control);
    background: var(--exc-surface-muted);
}

body.Exc .editor .editor-action,
body.Exc .editor .editor-dropdown > .editor-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0;
    border-radius: var(--exc-radius-small);
    opacity: 0.85;
}

body.Exc .editor .editor-action:hover,
body.Exc .editor .editor-action.editor-action-selected {
    background: #ebebee;
    opacity: 1;
}

body.Exc .editor .editor-insert-dialog,
body.Exc .editor .editor-dropdown .editor-insert-dialog {
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
    box-shadow: var(--exc-shadow-pop);
}

body.Exc .TextBoxWrapper textarea,
body.Exc textarea.BodyBox,
body.Exc #Form_Body {
    min-height: 160px;
    font-size: 15px;
    line-height: 1.6;
}

/* New discussion page */
body.Exc .DiscussionForm h1,
body.Exc .FormTitleWrapper > h1,
body.Exc .Exc-content > .FormTitleWrapper > h1 {
    margin: 0 0 16px;
}

body.Exc .DiscussionForm .FormWrapper .P,
body.Exc .DiscussionForm .FormWrapper .Category {
    margin: 0 0 16px;
}

body.Exc .DiscussionForm #Form_Name,
body.Exc #DiscussionForm #Form_Name {
    width: 100%;
    font-size: 16px;
    font-weight: 600;
}

body.Exc .DiscussionForm .CategorySelect select,
body.Exc .DiscussionForm select {
    min-width: 260px;
}

body.Exc .DiscussionForm .PostOptions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin: 12px 0 0;
    padding: 0;
}

body.Exc .DiscussionForm .PostOptions li {
    list-style: none;
}

/* ========================================================== Popups */
body.Exc .Overlay {
    position: fixed;
    inset: 0;
    background: rgba(24, 24, 27, 0.45);
}

body.Exc div.Popup {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 999;
}

body.Exc div.Popup .Border {
    box-sizing: border-box;
    width: min(560px, calc(100vw - 32px));
    margin: 0 auto;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: transparent;
    box-shadow: none;
}

body.Exc div.Popup .Body {
    box-sizing: border-box;
    padding: 24px 28px 28px;
    border: 1px solid var(--exc-border);
    border-radius: 12px;
    background: var(--exc-surface);
    box-shadow: var(--exc-shadow-pop);
    color: var(--exc-text);
    font-size: 14px;
    line-height: 1.5;
}

body.Exc div.Popup h1,
body.Exc div.Popup .H {
    margin: 0 0 16px;
    font-family: var(--exc-display);
    font-size: 30px;
    font-weight: 400;
    letter-spacing: -0.02em;
}

body.Exc div.Popup .Close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border-radius: var(--exc-radius-small);
    color: var(--exc-meta);
    font-size: 22px;
    line-height: 32px;
    text-align: center;
}

body.Exc div.Popup .Close:hover {
    background: var(--exc-bg);
    color: var(--exc-heading);
    text-decoration: none;
}

body.Exc div.Popup .Content {
    margin: 0;
    padding: 0;
}

body.Exc div.Popup .Footer {
    border: 0;
    background: none;
}

body.Exc div.Popup .FormWrapper {
    padding: 0;
    border: 0;
    box-shadow: none;
}

body.Exc div.Popup input.InputBox,
body.Exc div.Popup input[type=text],
body.Exc div.Popup input[type=email],
body.Exc div.Popup input[type=password],
body.Exc div.Popup textarea {
    width: 100%;
}

/* Sign in / register */
body.Exc .Entry .FormTitleWrapper,
body.Exc.Entry .FormTitleWrapper {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.Exc .Methods,
body.Exc .Entry .Methods {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

body.Exc .Entry .MainForm,
body.Exc .Methods .MainForm {
    flex: 1 1 280px;
    float: none;
    width: auto;
    padding: 0;
    border: 0;
}

body.Exc .Entry .Methods .Method,
body.Exc .Entry .SocialMethods {
    flex: 1 1 180px;
}

body.Exc .Entry form li,
body.Exc.Entry form li,
body.Exc div.Popup .Entry form li {
    margin: 0 0 14px;
    list-style: none;
}

body.Exc .Entry label,
body.Exc.Entry label,
body.Exc div.Popup label {
    display: block;
    margin: 0 0 6px;
}

body.Exc .Entry label.CheckBoxLabel,
body.Exc.Entry label.CheckBoxLabel,
body.Exc div.Popup label.CheckBoxLabel,
body.Exc div.Popup .RememberMe label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-weight: 400;
}

body.Exc .Entry .Buttons,
body.Exc div.Popup .Entry .Buttons,
body.Exc div.Popup .Buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
}

body.Exc div.Popup .Buttons .Button,
body.Exc.Entry .Buttons .Button {
    min-width: 140px;
}

body.Exc .ForgotPassword {
    font-size: 13px;
}

/* ========================================================== Profile */
body.Exc .ProfileOptions {
    float: none;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

body.Exc .NavButton,
body.Exc .ProfileOptions .Button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid var(--exc-border-strong);
    border-radius: var(--exc-radius-control);
    background: var(--exc-surface);
    color: var(--exc-heading);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

body.Exc .NavButton:hover,
body.Exc .ButtonGroup.Open .NavButton.Handle {
    background: var(--exc-bg);
    color: var(--exc-heading);
    text-decoration: none;
}

body.Exc .NavButton .Sprite,
body.Exc .NavButton .Sprite16 {
    display: none;
}

body.Exc .NavButton .SpEditProfile {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.Exc .NavButton .icon-caret-down {
    width: 0;
    height: 0;
    border: 4px solid transparent;
    border-top-color: currentColor;
    margin-top: 4px;
}

body.Exc .ButtonGroup {
    position: relative;
    display: inline-flex;
}

body.Exc .ButtonGroup .Dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    left: auto;
    z-index: 100;
    min-width: 220px;
    margin: 0;
    padding: 6px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
    box-shadow: var(--exc-shadow-pop);
}

body.Exc .ButtonGroup.Open .Dropdown {
    display: block;
}

body.Exc .Profile {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.Exc .Profile .User {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 24px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
    box-shadow: var(--exc-shadow);
}

body.Exc .Profile .User h1.H {
    font-family: var(--exc-display);
    font-size: 40px;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.02em;
}

body.Exc .Profile .User h1 .Gloss {
    margin-left: 8px;
    font-family: var(--exc-font);
    font-size: 14px;
    letter-spacing: 0;
    color: var(--exc-meta);
}

body.Exc .Profile .About h2,
body.Exc .Content .About h2 {
    display: none;
}

body.Exc .Profile .About.P {
    margin: 0;
}

body.Exc dl.About {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px 18px;
    margin: 0;
    color: var(--exc-text);
    font-size: 13.5px;
    line-height: 1.5;
}

body.Exc dl.About dt,
body.Exc dl.About dd {
    display: block;
    float: none;
    margin: 0;
    padding: 0;
    background: none;
    font-size: 13.5px;
    line-height: 1.5;
}

body.Exc dl.About dt {
    color: var(--exc-meta);
}

body.Exc dl.About dd a {
    color: var(--exc-accent);
}

body.Exc .ReactionsWrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.Exc .ReactionsWrap h2,
body.Exc .Content .ReactionsWrap h2.H {
    margin: 0;
    font-family: var(--exc-mono);
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--exc-meta);
}

body.Exc .DataCounts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    text-align: left;
}

body.Exc .DataCounts .CountItemWrap {
    flex: 1 1 110px;
    display: flex;
}

body.Exc .DataCounts .CountItem {
    display: flex;
    flex: 1 1 auto;
}

body.Exc .DataCounts .CountItem a {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 14px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-control);
    background: var(--exc-surface-muted);
    color: var(--exc-text-3);
    font-size: 12.5px;
    text-decoration: none;
}

body.Exc .DataCounts .CountItem a:hover {
    border-color: var(--exc-border-strong);
    background: var(--exc-bg);
}

body.Exc .DataCounts .CountTotal {
    display: block;
    color: var(--exc-heading);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

/* Profile sections become tabs above the content; the panel copy is redundant. */
body.Exc .Exc-panel .BoxProfileFilter {
    display: none;
}

body.Exc .Profile .BoxProfileFilter,
body.Exc .Content .BoxProfileFilter {
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--exc-border);
    background: none;
}

body.Exc .BoxProfileFilter .FilterMenu {
    display: flex;
    flex-wrap: wrap;
    gap: 0 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.Exc .BoxProfileFilter .FilterMenu li {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.Exc .BoxProfileFilter .FilterMenu a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 0 9px;
    border-bottom: 3px solid transparent;
    color: var(--exc-text-3);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

body.Exc .BoxProfileFilter .FilterMenu a:hover {
    color: var(--exc-heading);
}

body.Exc .BoxProfileFilter .FilterMenu li.Active a {
    border-bottom-color: var(--exc-accent);
    color: var(--exc-heading);
}

body.Exc .BoxProfileFilter .Sprite {
    display: none;
}

body.Exc .BoxProfileFilter .Aside,
body.Exc .BoxProfileFilter .Count {
    float: none;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--exc-bg);
    color: var(--exc-meta);
    font-size: 11.5px;
    font-weight: 600;
    line-height: 18px;
}

body.Exc .BoxProfileFilter .Aside .Count {
    padding: 0;
}

body.Exc .Profile .DataListWrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.Exc .Profile .DataListWrap > h2.H {
    font-family: var(--exc-display);
    font-size: 25px;
    font-weight: 400;
    letter-spacing: -0.02em;
}

body.Exc .Exc-panel .PhotoWrapLarge {
    display: block;
    padding: 16px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
    text-align: center;
}

body.Exc .PhotoWrapLarge img,
body.Exc .ProfilePhotoLarge {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: var(--exc-radius-control);
}

body.Exc .Exc-panel .PhotoWrapLarge {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: 10px;
}

body.Exc .Exc-panel .PhotoWrapLarge .ChangePicture {
    position: static;
    display: inline-block;
    width: auto;
    height: auto;
    padding: 0;
    background: none;
    color: var(--exc-accent);
    font-size: 13px;
    font-weight: 600;
    opacity: 1;
}

body.Exc .Exc-panel .PhotoWrapLarge .ChangePicture-Text {
    position: static;
    display: inline;
    padding: 0;
    background: none;
    color: inherit;
    opacity: 1;
}

body.Exc .Tabs,
body.Exc .ProfileTabs {
    margin: 4px 0 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--exc-border);
    background: none;
}

body.Exc .Tabs ul,
body.Exc .ProfileTabs ul,
body.Exc ul.Tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0 24px;
    margin: 0;
    padding: 0;
}

body.Exc .Tabs li {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    list-style: none;
}

body.Exc .Tabs li a,
body.Exc .TabLink {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 0 9px;
    border: 0;
    border-bottom: 3px solid transparent;
    background: none;
    color: var(--exc-text-3);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

body.Exc .Tabs li a:hover {
    background: none;
    color: var(--exc-heading);
    text-decoration: none;
}

body.Exc .Tabs li.Active a,
body.Exc .Tabs a.Active {
    border-bottom-color: var(--exc-accent);
    background: none;
    color: var(--exc-heading);
}

body.Exc .Tabs .Count,
body.Exc .Tabs .Aside {
    padding: 0 6px;
    border-radius: 999px;
    background: var(--exc-bg);
    color: var(--exc-meta);
    font-size: 11.5px;
    font-weight: 600;
}

/* Activity */
body.Exc .Activities,
body.Exc .DataList.Activities {
    gap: 0;
}

body.Exc .DataList.Activities > .Item,
body.Exc .DataList.Activities > .Activity,
body.Exc .Profile .DataList > .Item,
body.Exc .Exc-content > .DataList > .Item {
    margin: 0;
    padding: 16px 20px;
    border: 0;
    border-top: 1px solid var(--exc-divider);
}

body.Exc .DataList.Activities > .Item:first-child,
body.Exc .Profile .DataList > .Item:first-child,
body.Exc .Exc-content > .DataList > .Item:first-child {
    border-top: 0;
}

body.Exc .DataList:not(.Discussions):not(.Comments) .Item .Author.Photo,
body.Exc .DataList:not(.Discussions):not(.Comments) .Item > .Author,
body.Exc .DataList:not(.Discussions):not(.Comments) .Item .PhotoWrap {
    float: left;
    margin: 0 12px 0 0;
}

body.Exc .DataList:not(.Discussions):not(.Comments) .Item .PhotoWrap img,
body.Exc .DataList:not(.Discussions):not(.Comments) .Item .ProfilePhotoMedium {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

body.Exc .DataList:not(.Discussions):not(.Comments) .Item .ItemContent {
    overflow: hidden;
}

body.Exc .DataList:not(.Discussions):not(.Comments) .Item .Title {
    color: var(--exc-heading);
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.4;
}

body.Exc .DataList:not(.Discussions):not(.Comments) .Item .Excerpt,
body.Exc .DataList:not(.Discussions):not(.Comments) .Item .Summary {
    margin: 4px 0 0;
    color: var(--exc-text-2);
    font-size: 14px;
    line-height: 1.55;
}

body.Exc .DataList:not(.Discussions):not(.Comments) .Item .Meta {
    margin-top: 4px;
}

body.Exc .DataList:not(.Discussions) .Item .Meta .MItem {
    margin: 0 8px 0 0;
}

body.Exc .DataList:not(.Discussions):not(.Comments) .Item .Options {
    float: right;
    margin: 0 0 0 8px;
}

body.Exc .DataList.Activities .DataList.ActivityComments {
    margin: 10px 0 0;
    padding: 0;
    border: 0;
    border-left: 2px solid var(--exc-divider);
    border-radius: 0;
    box-shadow: none;
}

body.Exc .DataList.Activities .ActivityComments .Item {
    padding: 8px 12px;
    border: 0;
}

body.Exc .ActivityFormWrap,
body.Exc .FormWrapper.FormWrapper-Condensed,
body.Exc .Activity .CommentForm {
    margin: 0;
}

body.Exc .ActivityFormWrap {
    padding: 16px 20px;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius);
    background: var(--exc-surface);
}

body.Exc .ActivityFormWrap .Buttons {
    justify-content: flex-end;
}

/* Conversations */
body.Exc .Conversations .Item.Unread,
body.Exc .DataList.Conversations > .Item.Unread {
    background: var(--exc-accent-tint);
}

body.Exc .ConversationMessages,
body.Exc .MessageList.Conversation {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
}

/* Search */
body.Exc .SiteSearch,
body.Exc .SearchForm {
    margin: 0;
}

body.Exc .SearchForm .SiteSearch,
body.Exc .SearchForm .InputAndButton {
    display: flex;
    gap: 8px;
    max-width: 640px;
    margin: 0;
}

body.Exc .SearchForm .InputBox {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: 44px;
}

body.Exc .SearchForm .Button {
    flex: none;
    width: auto;
    padding: 0 18px;
    text-indent: 0;
    min-height: 44px;
    border-color: var(--exc-accent);
    background: var(--exc-accent);
    color: #fff;
}

body.Exc #search-results {
    display: flex;
    flex-direction: column;
}

body.Exc #search-results > .Item {
    padding: 16px 20px;
    border: 0;
    border-top: 1px solid var(--exc-divider);
}

body.Exc #search-results > .Item:first-child {
    border-top: 0;
}

body.Exc #search-results h3 {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

body.Exc #search-results h3 a {
    color: var(--exc-heading);
}

body.Exc #search-results .Media {
    display: flex;
    gap: 12px;
}

body.Exc #search-results .Media .PhotoWrap {
    flex: none;
    float: none;
    margin: 0;
}

body.Exc #search-results .Media .ProfilePhoto {
    width: 36px;
    height: 36px;
    border-radius: 50%;
}

body.Exc #search-results .Media-Body {
    min-width: 0;
    color: var(--exc-text-2);
    font-size: 14px;
    line-height: 1.55;
}

body.Exc #search-results .Meta {
    margin: 0 0 4px;
    color: var(--exc-meta);
    font-size: 12.5px;
}

body.Exc #search-results .Breadcrumbs {
    display: inline-flex;
    font-size: 12.5px;
}

body.Exc .SearchResults .Item-Header,
body.Exc .DataList-Search .Item-Header {
    min-height: 0;
    padding-right: 0;
}

body.Exc mark,
body.Exc .Highlight:not(.Pager-p):not(a) {
    padding: 0 2px;
    border-radius: 3px;
    background: #fef3c7;
    color: inherit;
}

/* ========================================================== Best Of (Reactions) */
body.Exc .BestOfWrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Reaction filter as pills. */
body.Exc .BoxBestOfFilter {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}

body.Exc .BoxBestOfFilter .FilterMenu {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.Exc .BoxBestOfFilter .FilterMenu li {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.Exc .BoxBestOfFilter .FilterMenu a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 16px;
    border: 1px solid var(--exc-border-strong);
    border-radius: 999px;
    background: var(--exc-surface);
    color: var(--exc-text-2);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

body.Exc .BoxBestOfFilter .FilterMenu a:hover {
    border-color: #a1a1aa;
    color: var(--exc-heading);
    text-decoration: none;
}

body.Exc .BoxBestOfFilter .FilterMenu li.Active a {
    border-color: var(--exc-accent);
    background: var(--exc-accent);
    color: #fff;
}

/* Cards in a grid. The plugin's masonry script still runs and writes inline
   positions; these rules take precedence over them. */
body.Exc .Tiles {
    position: static !important;
    height: auto !important;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr));
    align-items: stretch;
    gap: 18px;
}

/* With JS, cards are packed like masonry: each spans as many 4px rows as its
   height needs (see js/custom.js). Without JS the equal-height grid remains. */
body.Exc .Tiles.Exc-masonry {
    grid-auto-rows: 4px;
    align-items: start;
    row-gap: 0;
}

body.Exc .Tiles > .Tile {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    float: none;
    width: auto;
    margin: 0;
    visibility: visible;
    opacity: 1;
}

@media (min-width: 1000px) {
    body.Exc .Tiles > .Tile.Wide {
        grid-column: span 2;
    }
}

body.Exc .Exc-tile {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    padding: 18px 20px 16px;
    border: 1px solid var(--exc-border);
    border-radius: 12px;
    background: var(--exc-surface);
    box-shadow: var(--exc-shadow);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.Exc .Exc-tile:hover {
    border-color: var(--exc-border-strong);
    box-shadow: 0 8px 24px rgba(24, 24, 27, 0.08);
}

body.Exc .Exc-tileHeader {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

body.Exc .Exc-tileHeader .PhotoWrap {
    flex: none;
    float: none;
    margin: 0;
}

body.Exc .Exc-tileHeader .ProfilePhoto {
    display: block;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 0 1px var(--exc-border);
}

body.Exc .Exc-tileAuthor {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.3;
}

body.Exc .Exc-tileAuthor > a:not(.Exc-tileDate) {
    overflow: hidden;
    color: var(--exc-heading);
    font-size: 14px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.Exc .Exc-tileDate,
body.Exc .Exc-tileDate time {
    color: var(--exc-meta);
    font-size: 12.5px;
}

body.Exc .Exc-tileQuote {
    flex: none;
    height: 30px;
    margin: 0 -2px 0 auto;
    color: #c3dbe9;
    font-family: var(--exc-display);
    font-size: 72px;
    line-height: 0.9;
    user-select: none;
}

/* Moderator options sit where the quote mark is. */
body.Exc .Exc-tile > .Options {
    position: absolute;
    top: 14px;
    right: 14px;
    float: none;
    margin: 0;
}

body.Exc .Exc-tile:has(> .Options .ToggleFlyout) .Exc-tileQuote {
    visibility: hidden;
}

body.Exc .Exc-tileBody {
    max-height: 19rem;
    margin: 0;
    overflow: hidden;
    font-size: 15px;
    line-height: 1.6;
}

body.Exc .Exc-tile.is-clamped .Exc-tileBody {
    -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent);
    mask-image: linear-gradient(to bottom, #000 70%, transparent);
}

body.Exc .Exc-tile.is-expanded .Exc-tileBody {
    max-height: none;
    -webkit-mask-image: none;
    mask-image: none;
}

body.Exc .Exc-tileBody img {
    float: none !important;
    max-width: 100% !important;
    height: auto;
    margin: 0 0 8px !important;
    border-radius: var(--exc-radius-control);
}

body.Exc .Exc-tileBody iframe,
body.Exc .Exc-tileBody embed,
body.Exc .Exc-tileBody object {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

body.Exc .Exc-tileExpand {
    display: none;
    align-self: flex-start;
    margin: -4px 0 0;
    padding: 0;
    border: 0;
    background: none;
    color: var(--exc-accent);
    font-family: var(--exc-font);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

body.Exc .Exc-tileExpand:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.Exc .Exc-tile.is-clamped .Exc-tileExpand,
body.Exc .Exc-tile.is-expanded .Exc-tileExpand {
    display: inline-flex;
}

body.Exc .Exc-tileFooter {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--exc-divider);
}

body.Exc .Exc-tileThread {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
    text-decoration: none;
}

body.Exc .Exc-tileThread:hover {
    text-decoration: none;
}

body.Exc .Exc-tileThreadLabel {
    color: var(--exc-meta);
    font-family: var(--exc-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.Exc .Exc-tileThreadName {
    overflow: hidden;
    color: var(--exc-heading);
    font-size: 13.5px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.Exc .Exc-tileThread:hover .Exc-tileThreadName {
    color: var(--exc-accent);
}

body.Exc .Exc-tileLikes {
    display: inline-flex;
    flex: none;
    align-items: center;
    gap: 6px;
    height: 28px;
    margin-left: auto;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--exc-accent-tint);
    color: var(--exc-accent);
    font-size: 13px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* Members' reaction bar under the card: compact icon buttons. */
body.Exc .Exc-tile .Reactions {
    margin: -4px 0 0;
}

body.Exc .Exc-tile .Reactions .ReactButton {
    min-height: 30px;
    padding: 0 9px;
}

body.Exc .LoadingMore,
body.Exc #infscr-loading {
    padding: 12px 0;
    color: var(--exc-meta);
    text-align: center;
}

/* Inform messages */
body.Exc .InformMessages {
    z-index: 1000;
}

body.Exc .InformMessage,
body.Exc .InformWrapper .InformMessage {
    padding: 12px 18px;
    border: 0;
    border-radius: var(--exc-radius-control);
    background: var(--exc-heading);
    box-shadow: var(--exc-shadow-pop);
    color: #fafafa;
    font-family: var(--exc-font);
    font-size: 14px;
}

body.Exc .InformMessage a {
    color: #bae6fd;
}

/* jQuery UI autocomplete (mentions) and token input (tags) */
body.Exc .atwho-view {
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-control);
    box-shadow: var(--exc-shadow-pop);
}

body.Exc ul.token-input-list li input,
body.Exc ul.token-input-list input[type=text] {
    min-height: 30px;
    padding: 2px 4px;
    border: 0;
    box-shadow: none;
}

body.Exc ul.token-input-list {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    padding: 4px 6px;
    border: 1px solid var(--exc-border-strong);
    border-radius: var(--exc-radius-control);
    background: var(--exc-surface);
}

/* ========================================================== Responsive */
@media (max-width: 760px) {
    :root {
        --exc-gutter: 16px;
    }

    /* Header: tools on top, then centred logo, wordmark and tagline. */
    .Exc-headerInner {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0;
        padding-top: 10px;
    }

    .Exc-headerMain,
    .Exc-headerTop {
        display: contents;
    }

    .Exc-actions {
        order: -1;
        align-self: stretch;
        justify-content: flex-end;
        min-height: 4px;
    }

    .Exc-listPage.Exc-hasGuestBox .Exc-signIn {
        display: none;
    }

    .Exc-logo {
        margin: 4px 0 10px;
    }

    .Exc-logo img {
        width: min(136px, 30vw);
    }

    .Exc-brand {
        align-items: center;
        padding-bottom: 14px;
        text-align: center;
    }

    body.Exc .Exc-wordmark {
        font-size: min(44px, 9.5vw);
    }

    .Exc-tagline {
        font-size: min(19px, 4.7vw);
        text-wrap: balance;
    }

    .Exc-nav {
        align-self: stretch;
        flex-wrap: nowrap;
        justify-content: space-between;
        column-gap: 12px;
        margin: 0 -16px;
        padding: 0 12px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .Exc-nav::-webkit-scrollbar {
        display: none;
    }

    body.Exc .Exc-nav a {
        flex: 0 0 auto;
        font-size: 12px;
    }

    /* One column; on list pages search and the call to action come first. */
    .Exc-layout {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 20px;
        padding-top: 20px;
        padding-bottom: 40px;
    }

    .Exc-content {
        flex: none;
    }

    .Exc-listPage .Exc-panel {
        display: contents;
    }

    .Exc-listPage .Exc-panel > * {
        order: 1;
    }

    .Exc-listPage .Exc-panel > .Exc-search {
        order: -2;
    }

    .Exc-listPage .Exc-panel > .BoxNewDiscussion,
    .Exc-listPage .Exc-panel > .BoxButtons,
    .Exc-listPage .Exc-panel > .GuestBox {
        order: -1;
    }

    body.Exc .Exc-listHeading .Exc-pageTitle {
        font-size: min(31px, 8vw);
    }

    .Exc-listHeader .PageControls.Top,
    .Exc-listColumns {
        display: none !important;
    }

    /* Discussion rows: counts become an icon line with the star on the right. */
    body.Exc .DataList.Discussions > .Item {
        row-gap: 6px;
        padding: 14px 16px;
    }

    .Exc-counts {
        flex: 1 1 100%;
        gap: 16px;
        margin-left: 0;
    }

    .Exc-count {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        width: auto;
        font-size: 13px;
        text-align: left;
    }

    .Exc-count-views {
        font-size: 13px;
    }

    .Exc-count .Exc-icon {
        display: inline-block;
    }

    body.Exc .Exc-counts .Options {
        margin: -12px -10px -12px auto;
    }

    body.Exc .Exc-counts .Exc-bookmark {
        width: 44px;
        height: 44px;
    }

    /* Pager: centred, larger targets, only first/last and neighbours. */
    body.Exc .PageControls.Bottom,
    body.Exc .CommentsWrap > .BeforeCommentHeading,
    body.Exc .P.PagerWrap,
    body.Exc .PagerWrap {
        justify-content: center;
    }

    body.Exc .Pager > a,
    body.Exc .Pager > span {
        min-width: 40px;
        height: 40px;
    }

    body.Exc .Pager > a.Pager-p:not(.FirstPage):not(.LastPage):not(.Highlight):not([rel=next]):not([rel=prev]) {
        display: none;
    }

    /* Threads and other content. */
    body.Exc .PageTitle h1 {
        font-size: min(30px, 8vw);
    }

    body.Exc .MessageList.Discussion > .ItemDiscussion,
    body.Exc .MessageForm.CommentForm {
        padding: 16px;
    }

    body.Exc .MessageList.Comments > .ItemComment,
    body.Exc .DataList.Comments > .ItemComment {
        padding: 14px 16px;
    }

    body.Exc .Message,
    body.Exc .userContent {
        font-size: 15px;
    }

    body.Exc .Exc-meBox .ToggleFlyout .FlyoutMenu {
        position: fixed;
        top: 60px;
        right: 8px;
        left: 8px;
        width: auto;
        max-width: none;
    }

    .Exc-footerInner {
        padding-top: 24px;
        padding-bottom: 24px;
    }

    body.Exc .Exc-tile {
        padding: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        transition: none !important;
        animation: none !important;
    }
}
