.hub-route { color: var(--fx-text); background: var(--fx-bg); }
.hub-route main { min-height: 60vh; }
.hub-kicker { display: block; color: var(--fx-blue); font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.hub-hero { overflow: hidden; padding: clamp(52px, 8vw, 108px) 0 64px; color: #fff; background: radial-gradient(circle at 75% 20%, rgba(76,217,255,.15), transparent 28rem), radial-gradient(circle at 15% 90%, rgba(168,255,96,.1), transparent 24rem), #070b11; }
.hub-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: clamp(40px, 7vw, 100px); align-items: center; }
.hub-hero .hub-kicker { color: #a8ff60; }
.hub-hero h1 { max-width: 880px; margin: 12px 0 0; color: #fff; font-size: clamp(2.55rem, 6.2vw, 6rem); line-height: .94; letter-spacing: -.065em; }
.hub-hero p { max-width: 750px; margin: 25px 0 0; color: #bac7d7; font-size: clamp(1rem, 1.5vw, 1.23rem); line-height: 1.7; }
.hub-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 28px; }
.hub-hero .button-secondary { border-color: rgba(255,255,255,.45); color: #fff; background: transparent; }
.hub-search { max-width: 770px; display: grid; grid-template-columns: minmax(0,1fr) auto; margin-top: 28px; overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: 12px; background: rgba(255,255,255,.08); }
.hub-search input { min-width: 0; min-height: 52px; padding: 0 18px; border: 0; color: #fff; background: transparent; font: inherit; }
.hub-search input::placeholder { color: #96a5b8; }
.hub-search button { min-height: 52px; padding: 0 20px; border: 0; color: #06130c; background: #a8ff60; font: inherit; font-size: .83rem; font-weight: 800; cursor: pointer; }
.hub-signal-card { position: relative; min-height: 390px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 16px 26px; padding: 48px; overflow: hidden; border: 1px solid rgba(152,184,218,.22); border-radius: 30px; background: linear-gradient(145deg,#111c2a,#06090e); box-shadow: 0 38px 90px rgba(0,0,0,.42); }
.hub-signal-card::before { content: ''; position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(77,217,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(77,217,255,.16) 1px,transparent 1px); background-size: 32px 32px; }
.hub-signal-card > * { position: relative; z-index: 1; }
.hub-signal-card span { align-self: center; color: #9db0c8; font-size: .66rem; font-weight: 800; letter-spacing: .2em; }
.hub-signal-card strong { width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 13px; color: #a8ff60; background: #162333; font-size: 1.3rem; }
.hub-signal-card i { grid-column: 1 / -1; height: 2px; background: linear-gradient(90deg,#4dd9ff,transparent); }
.hub-stat-row { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); margin-top: -25px; overflow: hidden; border: 1px solid var(--fx-line); border-radius: 17px; background: var(--fx-panel); box-shadow: var(--fx-theme-shadow); }
.hub-stat-row div { padding: 21px 24px; border-right: 1px solid var(--fx-line); }
.hub-stat-row div:last-child { border: 0; }
.hub-stat-row strong,.hub-stat-row span { display: block; }
.hub-stat-row strong { color: var(--fx-text); font-size: 1.35rem; }
.hub-stat-row span { margin-top: 3px; color: var(--fx-muted); font-size: .75rem; }
.hub-section { padding-top: clamp(48px, 7vw, 80px); }
.hub-section:last-child { padding-bottom: 74px; }
.hub-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 25px; margin-bottom: 22px; }
.hub-section-heading h2 { margin: 5px 0 0; color: var(--fx-text); font-size: clamp(1.65rem, 3.4vw, 2.8rem); letter-spacing: -.045em; }
.hub-section-heading p { max-width: 720px; margin: 7px 0 0; color: var(--fx-muted); line-height: 1.55; }
.hub-section-heading > a { flex: 0 0 auto; color: var(--fx-blue); font-weight: 800; }
.hub-topic-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.hub-topic-grid > a { min-width: 0; display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 14px; padding: 19px; border: 1px solid var(--fx-line); border-radius: 15px; color: var(--fx-text); background: var(--fx-panel); transition: transform .17s ease,border-color .17s ease; }
.hub-topic-grid > a:hover { transform: translateY(-2px); border-color: var(--fx-blue); }
.hub-topic-grid > a > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 13px; color: var(--fx-accent-ink); background: linear-gradient(145deg,#a8ff60,#63dfff); font-size: .72rem; font-weight: 900; }
.hub-topic-grid strong,.hub-topic-grid small,.hub-topic-grid i { display: block; }
.hub-topic-grid small { min-height: 2.6em; margin-top: 4px; color: var(--fx-muted); font-size: .72rem; line-height: 1.35; }
.hub-topic-grid i { margin-top: 9px; color: var(--fx-blue); font-size: .65rem; font-style: normal; font-weight: 700; }
.hub-article-grid,.hub-home-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.hub-article-card { min-width: 0; overflow: hidden; border: 1px solid var(--fx-line); border-radius: 18px; color: var(--fx-text); background: var(--fx-panel); }
.hub-article-card.is-featured { grid-column: span 2; }
.hub-card-visual { position: relative; min-height: 175px; display: grid; place-items: center; overflow: hidden; color: #fff; background: linear-gradient(145deg,#17263a,#070a0f); }
.hub-card-visual::before { content: ''; position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(77,217,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(77,217,255,.14) 1px,transparent 1px); background-size: 26px 26px; }
.hub-card-visual > span { position: absolute; top: 16px; left: 17px; z-index: 1; color: #b8c9dc; font-size: .62rem; font-weight: 800; letter-spacing: .15em; }
.hub-card-visual > strong { position: relative; z-index: 1; width: 88px; height: 62px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 10px; background: #1a283a; box-shadow: 13px 13px 0 rgba(168,255,96,.12); font-size: .82rem; letter-spacing: .08em; }
.hub-card-visual > i { position: absolute; width: 58%; height: 3px; right: -17%; bottom: 29px; transform: rotate(-16deg); background: #4dd9ff; box-shadow: 0 0 18px #4dd9ff; }
.hub-card-copy { padding: 20px; }
.hub-card-copy > span { color: var(--fx-blue); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.hub-card-copy h3 { margin: 8px 0; color: var(--fx-text); font-size: 1.18rem; line-height: 1.28; }
.hub-card-copy h3 a { color: inherit; }
.hub-card-copy p { min-height: 4.5em; margin: 0; color: var(--fx-muted); font-size: .84rem; line-height: 1.52; }
.hub-card-copy footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--fx-line); color: var(--fx-muted); font-size: .72rem; }
.hub-card-copy footer strong { color: var(--fx-blue); }
.hub-question-list { overflow: hidden; border: 1px solid var(--fx-line); border-radius: 17px; background: var(--fx-panel); }
.hub-question-row { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 22px; padding: 21px; border-bottom: 1px solid var(--fx-line); }
.hub-question-row:last-child { border: 0; }
.hub-question-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; align-self: start; }
.hub-question-metrics span { display: grid; gap: 3px; padding: 9px 4px; border: 1px solid var(--fx-line); border-radius: 8px; color: var(--fx-muted); text-align: center; font-size: .62rem; }
.hub-question-metrics strong { color: var(--fx-text); font-size: .9rem; }
.hub-question-metrics .has-answers { border-color: #6fbf3e; color: #2d781f; }
html[data-theme="dark"] .hub-question-metrics .has-answers { color: #a8ff60; }
.hub-question-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.hub-question-tags span { padding: 5px 8px; border-radius: 6px; color: var(--fx-text-soft); background: var(--fx-panel-2); font-size: .67rem; font-weight: 700; }
.hub-question-copy h3 { margin: 8px 0 5px; font-size: 1.05rem; line-height: 1.35; }
.hub-question-copy h3 a { color: var(--fx-text); }
.hub-question-copy > p { margin: 0; color: var(--fx-muted); font-size: .78rem; line-height: 1.5; }
.hub-question-copy footer { display: flex; flex-wrap: wrap; gap: 6px 13px; margin-top: 12px; color: var(--fx-muted); font-size: .66rem; }
.hub-status { display: inline-flex; align-items: center; width: fit-content; padding: 4px 8px; border-radius: 999px; color: var(--fx-muted); background: var(--fx-panel-2); font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.hub-status-solved { color: #226a1c; background: #e5f8db; }
html[data-theme="dark"] .hub-status-solved { color: #a8ff60; background: rgba(168,255,96,.1); }
.hub-principles { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; padding-top: 70px; padding-bottom: 78px; }
.hub-principles div { padding: 25px; border-top: 3px solid var(--fx-blue); color: var(--fx-text); background: var(--fx-panel-2); }
.hub-principles span { color: var(--fx-blue); font: 900 1.6rem/1 'Space Grotesk',sans-serif; }
.hub-principles strong { display: block; margin-top: 20px; }
.hub-principles p { margin-bottom: 0; color: var(--fx-muted); font-size: .82rem; line-height: 1.55; }
.hub-list-hero { padding: clamp(44px,7vw,80px) 0; border-bottom: 1px solid var(--fx-line); color: var(--fx-text); background: linear-gradient(135deg,var(--fx-panel),var(--fx-panel-2)); }
.hub-list-hero h1 { max-width: 900px; margin: 8px 0 0; font-size: clamp(2.3rem,5.2vw,4.8rem); line-height: .98; letter-spacing: -.055em; }
.hub-list-hero p { max-width: 780px; margin: 18px 0 0; color: var(--fx-muted); font-size: 1rem; line-height: 1.65; }
.hub-list-hero-row { display: flex; justify-content: space-between; align-items: end; gap: 28px; }
.hub-filter-section { padding-top: 28px; }
.hub-filter-form { display: grid; grid-template-columns: minmax(240px,1.35fr) minmax(170px,.65fr) minmax(160px,.55fr) auto; gap: 12px; align-items: end; padding: 18px; border: 1px solid var(--fx-line); border-radius: 14px; background: var(--fx-panel); }
.hub-question-filters { grid-template-columns: minmax(220px,1.3fr) repeat(3,minmax(145px,.55fr)) auto; }
.hub-filter-form label,.hub-form label { min-width: 0; display: grid; gap: 7px; color: var(--fx-text); font-size: .76rem; font-weight: 800; }
.hub-filter-form input,.hub-filter-form select,.hub-form input,.hub-form select,.hub-form textarea { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid var(--fx-line-strong); border-radius: 9px; color: var(--fx-text); background: var(--fx-panel); font: 500 .9rem/1.4 Inter,sans-serif; }
.hub-form textarea { resize: vertical; }
.hub-filter-form input:focus,.hub-filter-form select:focus,.hub-form input:focus,.hub-form select:focus,.hub-form textarea:focus { outline: 3px solid color-mix(in srgb,var(--fx-blue) 20%,transparent); border-color: var(--fx-blue); }
.hub-list-results,.hub-question-results { padding-top: 42px; }
.hub-empty { grid-column: 1 / -1; padding: 44px; color: var(--fx-text); text-align: center; }
.hub-empty strong { font-size: 1.15rem; }
.hub-empty p { color: var(--fx-muted); }
.hub-pagination { display: flex; justify-content: center; align-items: center; gap: 20px; padding: 30px 0; color: var(--fx-muted); font-size: .82rem; }
.hub-pagination a { color: var(--fx-blue); font-weight: 800; }
.hub-article-header { padding: clamp(48px,8vw,92px) 0; color: #fff; background: radial-gradient(circle at 88% 12%,rgba(77,217,255,.13),transparent 26rem),#080c12; }
.hub-article-header h1 { max-width: 1050px; margin: 12px 0; color: #fff; font-size: clamp(2.4rem,5.8vw,5.4rem); line-height: .98; letter-spacing: -.06em; }
.hub-article-header > .shell > p { max-width: 820px; color: #b8c5d7; font-size: 1.1rem; line-height: 1.65; }
.hub-breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 25px; color: var(--fx-muted); font-size: .72rem; }
.hub-article-header .hub-breadcrumbs { color: #97a9bd; }
.hub-breadcrumbs a { color: var(--fx-blue); }
.hub-article-byline { display: flex; flex-wrap: wrap; gap: 8px 17px; margin: 25px 0 16px; color: #9eb0c4; font-size: .72rem; }
.hub-article-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 45px; align-items: start; padding-top: 50px; padding-bottom: 70px; }
.hub-article-body { max-width: 840px; }
.hub-article-intro { padding-bottom: 30px; color: var(--fx-text-soft); font-size: 1.08rem; line-height: 1.8; }
.hub-content-section { position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 17px; padding: 30px 0; border-top: 1px solid var(--fx-line); }
.hub-section-number { color: var(--fx-blue); font-size: .69rem; font-weight: 900; }
.hub-content-section h2 { margin: -5px 0 13px; color: var(--fx-text); font-size: 1.55rem; letter-spacing: -.03em; }
.hub-content-section p { color: var(--fx-text-soft); line-height: 1.75; }
.hub-emphasis-tip > div,.hub-emphasis-warning > div,.hub-emphasis-checklist > div { padding: 22px; border-radius: 12px; background: var(--fx-panel-2); }
.hub-emphasis-tip > div { border-left: 4px solid #65bd34; }
.hub-emphasis-warning > div { border-left: 4px solid var(--fx-danger); }
.hub-emphasis-checklist > div { border-left: 4px solid var(--fx-blue); }
.hub-references { margin-top: 25px; padding: 25px; border: 1px solid var(--fx-line); border-radius: 13px; background: var(--fx-panel); }
.hub-references h2 { margin-top: 0; }
.hub-references li { margin: 10px 0; color: var(--fx-muted); font-size: .78rem; }
.hub-references a { color: var(--fx-blue); }
.hub-article-side { position: sticky; top: 20px; display: grid; gap: 14px; }
.hub-article-side > div { display: grid; gap: 10px; padding: 22px; border: 1px solid var(--fx-line); border-radius: 14px; color: var(--fx-text); background: var(--fx-panel); }
.hub-article-side p { margin: 0; color: var(--fx-muted); font-size: .79rem; line-height: 1.5; }
.hub-article-side a:not(.button) { color: var(--fx-blue); font-size: .78rem; font-weight: 800; }
.hub-question-detail { padding-top: 35px; padding-bottom: 74px; }
.hub-safety-banner { margin-bottom: 16px; padding: 17px 19px; border: 1px solid #df9e32; border-radius: 11px; color: var(--fx-text); background: #fff4d7; }
html[data-theme="dark"] .hub-safety-banner { background: #30220e; }
.hub-safety-banner p { margin: 5px 0 0; font-size: .78rem; line-height: 1.5; }
.hub-question-main,.hub-answer { display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 22px; padding: clamp(22px,4vw,38px); border: 1px solid var(--fx-line); border-radius: 16px; color: var(--fx-text); background: var(--fx-panel); }
.hub-vote-column { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.hub-vote-column form { margin: 0; }
.hub-vote-column button { width: 40px; height: 36px; border: 0; border-radius: 8px; color: var(--fx-muted); background: var(--fx-panel-2); cursor: pointer; }
.hub-vote-column button.is-active { color: #fff; background: var(--fx-blue); }
.hub-vote-column strong { font-size: 1.1rem; }
.hub-question-content h1 { margin: 10px 0 18px; color: var(--fx-text); font-size: clamp(1.75rem,4vw,3.2rem); line-height: 1.12; letter-spacing: -.045em; }
.hub-user-prose { color: var(--fx-text-soft); font-size: .96rem; line-height: 1.78; overflow-wrap: anywhere; }
.hub-diagnostic-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 25px 0 0; overflow: hidden; border: 1px solid var(--fx-line); border-radius: 11px; }
.hub-diagnostic-facts div { padding: 15px; border-right: 1px solid var(--fx-line); border-bottom: 1px solid var(--fx-line); }
.hub-diagnostic-facts dt { color: var(--fx-muted); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.hub-diagnostic-facts dd { margin: 6px 0 0; color: var(--fx-text); line-height: 1.5; }
.hub-contribution-footer { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--fx-line); color: var(--fx-muted); font-size: .69rem; }
.hub-contribution-footer div { display: flex; gap: 10px; margin-left: auto; }
.hub-contribution-footer a { color: var(--fx-blue); }
.hub-question-actions { display: flex; align-items: center; gap: 13px; margin-top: 17px; color: var(--fx-muted); font-size: .72rem; }
.hub-question-actions form { margin: 0; }
.hub-answer-heading { margin: 48px 0 17px; }
.hub-answer-heading h2 { margin: 0; font-size: 1.7rem; }
.hub-answer-heading p { color: var(--fx-muted); font-size: .78rem; }
.hub-answer-list { display: grid; gap: 15px; }
.hub-answer.is-accepted { border: 2px solid #6eb73f; }
.hub-accepted-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 999px; color: #fff; background: #4d9d2e; font-size: 1.15rem; font-weight: 900; }
.hub-accepted-label { display: inline-flex; margin-bottom: 14px; padding: 6px 9px; border-radius: 6px; color: #245e18; background: #e2f6d8; font-size: .69rem; text-transform: uppercase; }
html[data-theme="dark"] .hub-accepted-label { color: #a8ff60; background: rgba(168,255,96,.1); }
.hub-inline-safety { margin-bottom: 14px; padding: 10px 12px; border-radius: 8px; color: var(--fx-text); background: #fff3d1; font-size: .72rem; }
html[data-theme="dark"] .hub-inline-safety { background: #2e230f; }
.hub-accept-button { margin-top: 15px; padding: 9px 12px; border: 1px solid #5ca636; border-radius: 8px; color: #2e741f; background: transparent; font-weight: 800; cursor: pointer; }
html[data-theme="dark"] .hub-accept-button { color: #a8ff60; }
.hub-answer-form { max-width: 920px; margin: 45px 0 0 80px; padding: 28px; border: 1px solid var(--fx-line); border-radius: 15px; background: var(--fx-panel); }
.hub-answer-form h2 { margin-top: 0; }
.hub-answer-form > p { color: var(--fx-muted); }
.hub-compose-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 40px; align-items: start; padding-top: 55px; padding-bottom: 85px; }
.hub-compose-main { min-width: 0; }
.hub-compose-main > h1 { margin: 8px 0; color: var(--fx-text); font-size: clamp(2rem,4.4vw,4rem); letter-spacing: -.05em; }
.hub-compose-main > p { max-width: 760px; color: var(--fx-muted); line-height: 1.6; }
.hub-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 19px; margin-top: 28px; padding: clamp(20px,4vw,34px); border: 1px solid var(--fx-line); border-radius: 16px; background: var(--fx-panel); }
.hub-form label:has(textarea),.hub-field-title,.hub-field-body,.hub-field-tests_tried,.hub-form-policy,.hub-form > .errorlist { grid-column: 1 / -1; }
.hub-form label > span b { color: var(--fx-danger); }
.hub-form label > small { color: var(--fx-muted); font-size: .67rem; font-weight: 500; line-height: 1.4; }
.hub-form .errorlist { margin: 0; padding: 8px 12px; border-radius: 7px; color: var(--fx-danger); background: color-mix(in srgb,var(--fx-danger) 9%,transparent); font-size: .72rem; list-style: none; }
.hub-form-policy { padding: 15px; border-left: 4px solid var(--fx-blue); color: var(--fx-text); background: var(--fx-panel-2); }
.hub-form-policy p { margin: 5px 0 0; color: var(--fx-muted); font-size: .75rem; line-height: 1.45; }
.hub-form > .button { width: fit-content; }
.hub-compose-side { position: sticky; top: 20px; padding: 24px; border: 1px solid var(--fx-line); border-radius: 15px; color: var(--fx-text); background: var(--fx-panel); }
.hub-compose-side h2 { margin-top: 0; }
.hub-compose-side ol { display: grid; gap: 17px; padding-left: 22px; }
.hub-compose-side li { color: var(--fx-blue); }
.hub-compose-side li strong,.hub-compose-side li span { display: block; color: var(--fx-text); }
.hub-compose-side li span,.hub-compose-side > p { margin-top: 4px; color: var(--fx-muted); font-size: .75rem; line-height: 1.45; }
.hub-home-section { padding-bottom: 20px; }
.hub-home-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

@media (max-width: 1050px) {
    .hub-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hub-filter-form,.hub-question-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hub-filter-form .button { width: fit-content; }
    .hub-article-layout { grid-template-columns: minmax(0,1fr) 260px; gap: 28px; }
}

@media (max-width: 780px) {
    .hub-hero { padding-top: 42px; }
    .hub-hero-grid { grid-template-columns: 1fr; }
    .hub-signal-card { min-height: 230px; padding: 30px; }
    .hub-stat-row { grid-template-columns: repeat(2,1fr); margin-inline: 14px; }
    .hub-stat-row div:nth-child(2) { border-right: 0; }
    .hub-stat-row div:nth-child(-n+2) { border-bottom: 1px solid var(--fx-line); }
    .hub-article-grid,.hub-home-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hub-article-card.is-featured { grid-column: span 2; }
    .hub-question-row { grid-template-columns: 1fr; }
    .hub-question-metrics { max-width: 210px; }
    .hub-principles { grid-template-columns: 1fr; }
    .hub-article-layout,.hub-compose-layout { grid-template-columns: 1fr; }
    .hub-article-side,.hub-compose-side { position: static; }
    .hub-answer-form { margin-left: 0; }
    .hub-list-hero-row { align-items: start; flex-direction: column; }
}

@media (max-width: 540px) {
    .hub-hero h1 { font-size: clamp(2.35rem,13vw,3.7rem); }
    .hub-search { grid-template-columns: 1fr; }
    .hub-search button { width: 100%; }
    .hub-topic-grid,.hub-article-grid,.hub-home-grid,.hub-filter-form,.hub-question-filters { grid-template-columns: 1fr; }
    .hub-article-card.is-featured { grid-column: auto; }
    .hub-section-heading { align-items: start; flex-direction: column; }
    .hub-card-copy p { min-height: 0; }
    .hub-question-main,.hub-answer { grid-template-columns: 1fr; padding: 20px; }
    .hub-vote-column { flex-direction: row; justify-content: flex-start; }
    .hub-vote-column form { display: inline-flex; }
    .hub-diagnostic-facts { grid-template-columns: 1fr; }
    .hub-contribution-footer div { width: 100%; margin-left: 0; }
    .hub-question-actions { align-items: start; flex-direction: column; }
    .hub-form { grid-template-columns: 1fr; padding: 18px; }
    .hub-form label,.hub-form-policy { grid-column: 1; }
    .hub-compose-layout { padding-top: 35px; }
    .hub-content-section { grid-template-columns: 1fr; }
    .hub-section-number { margin-bottom: -7px; }
}


/* Fixonic editorial concept cards */
.hub-article-card.fx-editorial-card {
    overflow: hidden;
    border-color: #29435f;
    border-radius: 24px;
    background: linear-gradient(180deg,#101a28 0%,#0b121c 100%);
    box-shadow: 0 22px 54px rgba(0,0,0,.18);
}
.fx-editorial-card .hub-card-visual-concept {
    position: relative;
    min-height: 0;
    aspect-ratio: 1.615 / 1;
    display: block;
    overflow: hidden;
    background: #07111d;
}
.fx-editorial-card .hub-card-visual-concept::before { display: none; }
.fx-editorial-card .hub-card-visual-concept img {
    position: absolute;
    width: 106.4%;
    height: auto;
    max-width: none;
    left: -3.2%;
    top: -11.8%;
    display: block;
    image-rendering: auto;
}
.fx-editorial-card .hub-card-copy {
    padding: 25px 27px 29px;
    background:
        radial-gradient(circle at 8% 0%,rgba(38,114,190,.10),transparent 36%),
        linear-gradient(180deg,#101a28 0%,#0b121c 100%);
}
.fx-editorial-card .hub-card-copy > span {
    color: #62a4ff;
    font-size: .73rem;
    font-weight: 900;
    letter-spacing: -.01em;
}
.fx-editorial-card .hub-card-copy h3 {
    margin: 11px 0 13px;
    color: #f7f9fd;
    font-family: Inter,sans-serif;
    font-size: clamp(1.2rem,1.6vw,1.5rem);
    line-height: 1.19;
    letter-spacing: -.025em;
}
.fx-editorial-card .hub-card-copy p {
    min-height: 0;
    margin: 0;
    color: #9eabc0;
    font-size: .91rem;
    line-height: 1.52;
}
.fx-editorial-card .hub-card-copy footer {
    border-top-color: rgba(120,155,193,.18);
}
html[data-theme="light"] .hub-article-card.fx-editorial-card {
    border-color: #29435f;
    color: #f7f9fd;
    background: linear-gradient(180deg,#101a28 0%,#0b121c 100%);
}
html[data-theme="light"] .fx-editorial-card .hub-card-copy h3,
html[data-theme="light"] .fx-editorial-card .hub-card-copy h3 a { color: #f7f9fd; }
html[data-theme="light"] .fx-editorial-card .hub-card-copy p { color: #9eabc0; }

@media (max-width: 780px) {
    .hub-article-card.fx-editorial-card { border-radius: 22px; }
    .fx-editorial-card .hub-card-copy { padding: 23px 24px 27px; }
}
@media (max-width: 540px) {
    .hub-article-card.fx-editorial-card { border-radius: 18px; }
    .fx-editorial-card .hub-card-copy { padding: 24px 20px 25px; }
    .fx-editorial-card .hub-card-copy > span { font-size: .69rem; }
    .fx-editorial-card .hub-card-copy h3 {
        margin-top: 10px;
        font-size: clamp(1.33rem,6.2vw,1.65rem);
        line-height: 1.18;
    }
    .fx-editorial-card .hub-card-copy p {
        font-size: .91rem;
        line-height: 1.5;
    }
}


/* Editorial Repair Hub improvements — intentionally scoped to the two new components. */
.hub-repair-brief { display:flex; flex-direction:column; align-self:center; padding:clamp(22px,3vw,32px); gap:0; border:1px solid #445267; border-top:3px solid #7db2ed; border-radius:12px; background:#151f2c; color:#f0f4fa; box-shadow:0 12px 34px rgba(0,0,0,.12); }
.hub-repair-brief .hub-repair-brief-eyebrow { color:#a7c7eb; font-size:.7rem; font-weight:750; letter-spacing:.09em; }
.hub-repair-brief h2 { margin:10px 0 9px; font-size:clamp(1.25rem,2.1vw,1.8rem); letter-spacing:-.025em; line-height:1.23; color:#fff; }
.hub-repair-brief > p { margin:0 0 16px; color:#c0cad7; font-size:.86rem; line-height:1.55; }
.hub-repair-brief dl { margin:0; padding:0; }
.hub-repair-brief dl > div { display:grid; gap:4px; padding:11px 0; border-top:1px solid rgba(170,190,214,.18); }
.hub-repair-brief dt { font-size:.88rem; font-weight:750; color:#f1f5fa; }
.hub-repair-brief dd { margin:0; font-size:.8rem; line-height:1.48; color:#adbbcc; }
.hub-repair-brief > a { display:inline-flex; align-items:center; justify-content:space-between; gap:15px; margin-top:12px; padding-top:16px; border-top:1px solid rgba(170,190,214,.18); font-size:.84rem; font-weight:750; color:#99ceff; }
.hub-repair-brief > a:hover { color:#fff; }
.hub-help-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:20px; }
.hub-help-shortcuts > a { display:grid; gap:7px; padding:19px 22px; border:1px solid var(--fx-line); border-radius:10px; background:var(--fx-panel); text-decoration:none; }
.hub-help-shortcuts > a:hover { border-color:var(--fx-blue); text-decoration:none; }
.hub-help-shortcuts strong { color:var(--fx-text); font-size:.95rem; }
.hub-help-shortcuts span { color:var(--fx-muted); font-size:.79rem; line-height:1.5; }
.hub-help-shortcuts i { color:var(--fx-blue); font-style:normal; }
/* Articles: four attributed current-source summaries, separate from user-created articles. */
.hub-fulu-feature { padding-top:clamp(26px,4vw,44px); }
.hub-fulu-feature-heading { display:flex; justify-content:space-between; align-items:end; gap:15px; margin-bottom:18px; }
.hub-fulu-feature-heading h2 { margin:8px 0 6px; color:var(--fx-text); font-size:clamp(1.55rem,3vw,2.35rem); line-height:1.16; letter-spacing:-.03em; }
.hub-fulu-feature-heading p { color:var(--fx-muted); line-height:1.5; margin:0; }
.hub-fulu-feature-heading > a { flex:0 0 auto; color:var(--fx-blue); font-size:.84rem; font-weight:750; }
.hub-fulu-stories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.hub-fulu-stories article { min-width:0; padding:clamp(19px,2.5vw,26px); border:1px solid var(--fx-line); border-radius:10px; background:var(--fx-panel); display:flex; flex-direction:column; align-items:stretch; }
.hub-fulu-stories article > span { color:var(--fx-blue); font-size:.68rem; letter-spacing:.07em; font-weight:800; }
.hub-fulu-stories h3 { margin:10px 0 8px; font-size:clamp(1.14rem,1.75vw,1.4rem); line-height:1.3; letter-spacing:-.015em; }
.hub-fulu-stories h3 a { color:var(--fx-text); }
.hub-fulu-stories p { margin:0 0 20px; color:var(--fx-muted); line-height:1.6; font-size:.83rem; }
.hub-fulu-stories article > div { display:flex; align-items:baseline; flex-wrap:wrap; gap:9px; margin-top:auto; padding-top:12px; border-top:1px solid var(--fx-line); }
.hub-fulu-stories article > div strong { color:var(--fx-text); font-size:1.25rem; }
.hub-fulu-stories article > div small { color:var(--fx-muted); font-size:.73rem; }
.hub-fulu-source { margin-top:10px; color:var(--fx-blue); font-weight:700; font-size:.76rem; }
.hub-fulu-disclosure { margin:12px 0 0; color:var(--fx-muted); font-size:.76rem; line-height:1.6; }
.hub-fulu-disclosure a { color:var(--fx-blue); }
/* Original long-form Fixonic commentary, not presented as an official FULU article. */
.hub-fulu-back { display:block; width:fit-content; margin-bottom:24px; color:var(--fx-blue); font-weight:700; }
.hub-fulu-dateline { font-size:.78rem!important; }
.hub-fulu-report-layout { display:grid; grid-template-columns:minmax(0,780px) minmax(210px,260px); align-items:start; gap:clamp(26px,5vw,72px); padding-top:48px; padding-bottom:80px; }
.hub-fulu-report-copy { min-width:0; color:var(--fx-text); font-size:1rem; line-height:1.77; }
.hub-fulu-report-copy p { margin:0 0 18px; }
.hub-fulu-report-copy a,.hub-fulu-report-aside a { color:var(--fx-blue); text-decoration:underline; text-underline-offset:3px; }
.hub-fulu-lede { font-size:1.19rem; line-height:1.58; }
.hub-fulu-report-section { margin-top:38px; padding-top:28px; border-top:1px solid var(--fx-line); scroll-margin-top:90px; }
.hub-fulu-report-section > span { color:var(--fx-blue); font-size:.73rem; font-weight:800; letter-spacing:.04em; }
.hub-fulu-report-section h2,.hub-fulu-terms h2 { margin:12px 0; font-size:clamp(1.55rem,2.5vw,2rem); color:var(--fx-text); line-height:1.2; letter-spacing:-.024em; }
.hub-fulu-pot { color:var(--fx-muted); font-size:.82rem; font-weight:750; }
.hub-fulu-terms { margin-top:40px; padding:22px; border-left:3px solid var(--fx-blue); background:var(--fx-panel); }
.hub-fulu-report-aside { display:grid; gap:14px; position:sticky; top:24px; padding:22px; border:1px solid var(--fx-line); border-radius:10px; background:var(--fx-panel); }
.hub-fulu-report-aside h2 { margin:0; font-size:1.03rem; color:var(--fx-text); }
.hub-fulu-report-aside nav { display:grid; gap:10px; }
.hub-fulu-report-aside p { color:var(--fx-muted); font-size:.79rem; line-height:1.55; }
@media (max-width:780px) {
    .hub-repair-brief { width:100%; min-height:0; padding:20px; }
    .hub-hero-grid .hub-repair-brief { max-width:600px; }
    .hub-help-shortcuts { grid-template-columns:1fr; gap:8px; }
    .hub-help-shortcuts > a { padding:14px 17px; }
    .hub-fulu-feature-heading { display:block; }
    .hub-fulu-feature-heading > a { display:inline-block; margin-top:13px; }
    .hub-fulu-report-layout { grid-template-columns:1fr; }
    .hub-fulu-report-aside { position:static; }
}
@media (max-width:540px) {
    .hub-fulu-stories { grid-template-columns:1fr; }
    .hub-repair-brief dl > div { padding:9px 0; }
    .hub-repair-brief h2 { font-size:1.34rem; }
}

