* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    scroll-behavior: smooth
}

button,
a,
input,
select,
textarea {
    font: inherit
}

img {
    max-width: 100%
}

:root {
    --ink: #172033;
    --muted: #66738a;
    --paper: rgba(255, 255, 255, .86);
    --paper-solid: #fff;
    --soft: rgba(255, 255, 255, .6);
    --line: rgba(23, 32, 51, .12);
    --shadow: 0 22px 70px rgba(45, 55, 80, .14);
    --rose: #fb7185;
    --orange: #fb923c;
    --yellow: #facc15;
    --green: #22c55e;
    --cyan: #06b6d4;
    --blue: #3b82f6;
    --violet: #8b5cf6;
    --danger: #ef4444;
    --focus: #0f766e
}

body.dark {
    --ink: #f7fbff;
    --muted: #b7c2d6;
    --paper: rgba(15, 23, 42, .84);
    --paper-solid: #111827;
    --soft: rgba(255, 255, 255, .08);
    --line: rgba(255, 255, 255, .14);
    --shadow: 0 25px 80px rgba(0, 0, 0, .38);
    --focus: #67e8f9
}

body {
    min-height: 100vh;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    color: var(--ink);
    background: #fff7ed;
    overflow-x: hidden
}

.page-bg {
    position: fixed;
    inset: 0;
    z-index: -5;
    background: linear-gradient(135deg, #fff7ed 0%, #fdf2f8 28%, #eef6ff 66%, #f0fdf4 100%)
}

body.dark .page-bg {
    background: linear-gradient(135deg, #0f172a 0%, #172554 45%, #3b0764 100%)
}

.blob {
    position: fixed;
    border-radius: 999px;
    filter: blur(38px);
    opacity: .42;
    z-index: -4;
    animation: float 14s ease-in-out infinite
}

.b1 {
    width: 320px;
    height: 320px;
    background: #fb7185;
    top: 90px;
    left: -100px
}

.b2 {
    width: 360px;
    height: 360px;
    background: #60a5fa;
    top: 300px;
    right: -120px;
    animation-delay: -5s
}

.b3 {
    width: 280px;
    height: 280px;
    background: #facc15;
    bottom: -120px;
    left: 35%;
    animation-delay: -8s
}

.grain {
    position: fixed;
    inset: 0;
    z-index: -3;
    pointer-events: none;
    opacity: .24;
    background-image: radial-gradient(rgba(23, 32, 51, .16) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: linear-gradient(to bottom, transparent, black 18%, black 72%, transparent)
}

@keyframes float {
    50% {
        transform: translate(24px, -30px) scale(1.07)
    }
}

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

.skip-link {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 999;
    background: #172033;
    color: #fff;
    padding: 12px 16px;
    border-radius: 14px;
    transform: translateY(-160%);
    transition: .2s
}

.skip-link:focus {
    transform: translateY(0)
}

:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 3px
}

button[aria-pressed="true"] {
    outline: 2px solid rgba(34, 197, 94, .25)
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    border-bottom: 1px solid var(--line);
    background: rgba(255, 255, 255, .74);
    backdrop-filter: blur(20px)
}

body.dark .topbar {
    background: rgba(15, 23, 42, .76)
}

.top-inner {
    max-width: 1380px;
    margin: auto;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--ink)
}

.brand-mark {
    width: 48px;
    height: 48px;
    border-radius: 18px;
    background: conic-gradient(from 210deg, var(--rose), var(--orange), var(--yellow), var(--green), var(--blue), var(--violet), var(--rose));
    display: grid;
    place-items: center;
    color: white;
    font-weight: 1000;
    font-size: 26px;
    box-shadow: 0 14px 30px rgba(251, 113, 133, .26)
}

.brand-name {
    font-size: 25px;
    font-weight: 1000;
    letter-spacing: -.055em
}

.brand-sub {
    font-size: 12px;
    color: var(--muted);
    margin-top: -2px
}

.nav {
    display: flex;
    gap: 8px;
    align-items: center
}

.nav button,
.pill-btn {
    border: 1px solid var(--line);
    background: var(--soft);
    color: var(--ink);
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 850;
    cursor: pointer;
    transition: .2s
}

.nav button:hover,
.nav button.active,
.pill-btn.active {
    background: #172033;
    color: white;
    border-color: #172033;
    transform: translateY(-1px)
}

body.dark .nav button:hover,
body.dark .nav button.active,
body.dark .pill-btn.active {
    background: white;
    color: #111827
}

.actions {
    display: flex;
    align-items: center;
    gap: 9px
}

.btn {
    border: 0;
    border-radius: 16px;
    padding: 12px 16px;
    font-weight: 950;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: .2s;
    white-space: nowrap
}

.btn:hover {
    transform: translateY(-1px)
}

.btn-primary {
    background: #172033;
    color: white;
    box-shadow: 0 14px 30px rgba(23, 32, 51, .22)
}

body.dark .btn-primary {
    background: white;
    color: #111827
}

.btn-soft {
    background: var(--soft);
    color: var(--ink);
    border: 1px solid var(--line)
}

.theme,
.burger {
    width: 44px;
    height: 44px;
    padding: 0
}

.burger {
    display: none
}

.wrap {
    max-width: 1380px;
    margin: 0 auto;
    padding: 30px 18px 64px
}

.hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 20px;
    margin-bottom: 26px
}

.hero-card,
.side-widget,
.mini,
.q-card,
.modal-card {
    border: 1px solid var(--line);
    background: var(--paper);
    box-shadow: var(--shadow)
}

.hero-card {
    position: relative;
    overflow: hidden;
    border-radius: 38px;
    padding: 36px
}

.hero-card:before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 9px;
    background: linear-gradient(90deg, var(--rose), var(--orange), var(--yellow), var(--green), var(--cyan), var(--violet))
}

.hero-card:after {
    content: "?";
    position: absolute;
    right: -4px;
    top: 30px;
    font-size: 210px;
    line-height: .7;
    font-weight: 1000;
    color: rgba(59, 130, 246, .08);
    transform: rotate(-10deg)
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 9px 13px;
    color: #be123c;
    font-weight: 950;
    font-size: 14px;
    margin: 10px 0 18px
}

body.dark .eyebrow {
    background: rgba(255, 255, 255, .07);
    color: #fecdd3
}

.hero h1 {
    position: relative;
    z-index: 1;
    font-size: clamp(38px, 6vw, 72px);
    line-height: .94;
    letter-spacing: -.065em;
    max-width: 820px;
    margin-bottom: 18px
}

.hero h1 span {
    background: linear-gradient(90deg, var(--rose), var(--orange), var(--blue));
    -webkit-background-clip: text;
    color: transparent
}

.hero p {
    position: relative;
    z-index: 1;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.65;
    max-width: 760px
}

.hero-actions {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 24px
}

.hero-side {
    display: grid;
    gap: 14px
}

.side-widget {
    border-radius: 28px;
    padding: 20px
}

.side-widget h2,
.side-widget h3 {
    font-size: 24px;
    letter-spacing: -.04em;
    margin-bottom: 10px
}

.side-widget p,
.side-widget li {
    color: var(--muted);
    line-height: 1.55
}

.steps {
    list-style: none;
    display: grid;
    gap: 10px;
    margin-top: 14px
}

.steps li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 12px
}

.num {
    width: 25px;
    height: 25px;
    border-radius: 9px;
    background: #172033;
    color: white;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 1000;
    flex: 0 0 auto
}

body.dark .num {
    background: white;
    color: #111827
}

.three-col {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 20px;
    align-items: start
}

.sidebar {
    position: sticky;
    top: 96px;
    display: grid;
    gap: 14px
}

.side-nav {
    display: grid;
    gap: 8px
}

.side-nav a,
.topic-chip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    text-decoration: none;
    color: var(--ink);
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 12px 13px;
    font-weight: 850
}

.side-nav a:hover {
    transform: translateY(-1px);
    background: var(--paper-solid)
}

.side-nav small,
.topic-chip small {
    color: var(--muted);
    font-weight: 800
}

.spark {
    display: grid;
    gap: 8px
}

.spark-row {
    display: grid;
    gap: 5px
}

.spark-row b {
    font-size: 13px
}

.bar {
    height: 9px;
    border-radius: 999px;
    background: var(--soft);
    overflow: hidden;
    border: 1px solid var(--line)
}

.bar span {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--rose), var(--orange), var(--yellow))
}

.bar.green span {
    background: linear-gradient(90deg, var(--green), var(--cyan))
}

.bar.blue span {
    background: linear-gradient(90deg, var(--blue), var(--violet))
}

.cta-side {
    background: linear-gradient(135deg, #172033, #1e3a8a);
    color: white
}

.cta-side p {
    color: #dbeafe
}

.cta-side .btn {
    width: 100%;
    margin-top: 12px;
    background: white;
    color: #172033
}

.author-card {
    display: flex;
    gap: 10px;
    align-items: center
}

.small-avatar {
    width: 38px;
    height: 38px;
    border-radius: 15px;
    background: linear-gradient(135deg, var(--rose), var(--orange))
}

.trend-list {
    display: grid;
    gap: 10px
}

.trend-item {
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line)
}

.trend-item:last-child {
    padding-bottom: 0;
    border: 0
}

.trend-item b {
    display: block;
    font-size: 14px
}

.trend-item span {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.4
}

.advice {
    background: linear-gradient(135deg, rgba(250, 204, 21, .22), rgba(34, 197, 94, .14))
}

.feed-head {
    margin: 0 0 18px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px
}

.feed-head h2 {
    font-size: 36px;
    letter-spacing: -.055em
}

.feed-head p {
    color: var(--muted);
    line-height: 1.55;
    margin-top: 6px
}

.filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.feed {
    display: grid;
    gap: 28px
}

.q-card {
    position: relative;
    overflow: hidden;
    border-radius: 38px;
    padding: 30px 34px
}

.q-card:before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 8px;
    background: var(--accent, linear-gradient(90deg, var(--rose), var(--orange), var(--yellow)))
}

.q-card.open-example {
    --accent: linear-gradient(90deg, var(--green), var(--cyan), var(--blue))
}

.q-card.media-card {
    --accent: linear-gradient(90deg, var(--blue), var(--cyan), var(--green))
}

.q-card.post-card {
    --accent: linear-gradient(90deg, var(--violet), var(--rose), var(--orange))
}

.q-card.compact-card {
    --accent: linear-gradient(90deg, var(--orange), var(--yellow), var(--green))
}

.split-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 20px;
    align-items: start
}

.card-top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    margin: 5px 0 14px
}

.tag {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    border-radius: 999px;
    padding: 8px 11px;
    font-size: 13px;
    font-weight: 1000;
    background: #fef3c7;
    color: #92400e
}

.tag.blue {
    background: #dbeafe;
    color: #1d4ed8
}

.tag.green {
    background: #dcfce7;
    color: #15803d
}

.tag.violet {
    background: #ede9fe;
    color: #6d28d9
}

.tag.rose {
    background: #ffe4e6;
    color: #be123c
}

.hot {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    color: #fb7185;
    font-weight: 1000;
    font-size: 13px
}

.hot i {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #fb7185;
    box-shadow: 0 0 0 0 rgba(251, 113, 133, .6);
    animation: pulse 1.7s infinite
}

@keyframes pulse {
    70% {
        box-shadow: 0 0 0 10px rgba(251, 113, 133, 0)
    }
}



.allow {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    color: #0cb7ca;
    font-weight: 1000;
    font-size: 13px
}

.allow i {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #0cb7ca;
    box-shadow: 0 0 0 0 rgba(12, 183, 202, .6);
    animation: pulse 1.7s infinite
}

@keyframes pulse {
    70% {
        box-shadow: 0 0 0 10px rgba(251, 113, 133, 0)
    }
}




.deny {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    color: #ab2828;
    font-weight: 1000;
    font-size: 13px
}

.deny i {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #ab2828;
    box-shadow: 0 0 0 0 rgba(171, 40, 40, .6);
    animation: pulse 1.7s infinite
}

@keyframes pulse {
    70% {
        box-shadow: 0 0 0 10px rgba(0, 113, 133, 0)
    }
}



.q-title {
    font-size: clamp(26px, 4vw, 42px);
    line-height: 1.04;
    letter-spacing: -.048em;
    max-width: 780px;
    margin-bottom: 12px
}

.q-text {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.7;
    max-width: 790px
}

.q-more {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease
}

.q-more.open {
    max-height: 360px
}

.expand {
    border: 0;
    background: transparent;
    color: #2563eb;
    font-weight: 1000;
    padding: 12px 0 4px;
    cursor: pointer
}

.media {
    margin-top: 16px;
    border: 1px solid var(--line);
    border-radius: 28px;
    overflow: hidden;
    position: relative;
    background: var(--soft)
}

.media img {
    display: block;
    width: 100%;
    aspect-ratio: 16/8.8;
    object-fit: cover
}

.play {
    position: absolute;
    right: 18px;
    bottom: 18px;
    width: 58px;
    height: 58px;
    border-radius: 22px;
    background: rgba(255, 255, 255, .92);
    color: #172033;
    display: grid;
    place-items: center;
    font-weight: 1000;
    box-shadow: 0 18px 35px rgba(0, 0, 0, .22)
}

.stats {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 18px 0 8px
}

.stat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 9px 12px;
    color: var(--muted);
    font-weight: 850;
    font-size: 13px
}

.meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px
}

.votes {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.vote {
    border: 1px solid var(--line);
    background: var(--soft);
    color: var(--ink);
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 950;
    cursor: pointer;
    transition: .2s
}

.vote:hover,
.vote.active {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(45, 55, 80, .1)
}

.vote.like.active {
    background: #dcfce7;
    color: #15803d
}

.vote.dislike.active {
    background: #fee2e2;
    color: #dc2626
}

.tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 8px;
    border: 1px solid var(--line);
    background: var(--soft);
    border-radius: 26px;
}

.tab {
    flex: 0 0 auto;
    white-space: nowrap;
}

.tab {
    border: 0;
    background: transparent;
    color: var(--muted);
    border-radius: 17px;
    padding: 12px;
    text-align: left;
    font-weight: 950;
    cursor: pointer;
    transition: .2s
}

.tab small {
    display: block;
    color: var(--muted);
    font-weight: 750;
    margin-top: 2px
}

.tab.active {
    background: var(--paper-solid);
    color: var(--ink);
    box-shadow: 0 10px 26px rgba(45, 55, 80, .08)
}

body.dark .tab.active {
    background: rgba(255, 255, 255, .1)
}

.discussion {
    position: relative;
    margin-top: 16px;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(255, 255, 255, .52), rgba(255, 255, 255, .32));
    border-radius: 28px;
    padding: 16px;
    min-height: 260px;
    overflow: hidden
}

body.dark .discussion {
    background: rgba(255, 255, 255, .05)
}

.discussion.locked .comment-tree {
    filter: blur(5px);
    opacity: .64;
    pointer-events: none;
    user-select: none
}

.lock {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: grid;
    place-items: center;
    padding: 18px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, .12), rgba(255, 255, 255, .78));
    backdrop-filter: blur(2px)
}

body.dark .lock {
    background: linear-gradient(to bottom, rgba(15, 23, 42, .12), rgba(15, 23, 42, .84))
}

.lock-box {
    max-width: 370px;
    text-align: center;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 26px;
    padding: 22px;
    box-shadow: var(--shadow)
}

.lock-icon {
    width: 46px;
    height: 46px;
    border-radius: 17px;
    background: #172033;
    color: white;
    display: grid;
    place-items: center;
    margin: 0 auto 12px;
    font-size: 22px
}

.lock-box h4 {
    font-size: 20px;
    margin-bottom: 6px
}

.lock-box p {
    color: var(--muted);
    line-height: 1.45;
    margin-bottom: 13px
}

.comment-tree {
    display: grid;
    gap: 15px
}

.thread {
    display: grid;
    gap: 10px
}

.comment-row {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 12px;
    align-items: start
}

.avatar {
    width: 40px;
    height: 40px;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--rose), var(--orange))
}

.avatar.a2 {
    background: linear-gradient(135deg, var(--blue), var(--green))
}

.avatar.a3 {
    background: linear-gradient(135deg, var(--yellow), var(--rose))
}

.avatar.a4 {
    background: linear-gradient(135deg, var(--violet), var(--blue))
}

.bubble {
    background: rgba(255, 255, 255, .64);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 13px 14px
}

body.dark .bubble {
    background: rgba(255, 255, 255, .06)
}

.comment-head {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap
}

.author {
    font-weight: 1000;
    font-size: 13px
}

.date {
    color: var(--muted);
    font-size: 12px
}

.comment-text {
    color: var(--muted);
    line-height: 1.55;
    margin-top: 6px;
    font-size: 14px
}

.comment-actions {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px
}

.comment-actions-left {
    display: flex;
    gap: 7px;
    flex-wrap: wrap
}

.comment-action {
    border: 1px solid var(--line);
    background: var(--soft);
    color: var(--muted);
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer
}

.comment-spam {
    color: var(--danger);
    background: rgba(239, 68, 68, .08)
}

.replies {
    position: relative;
    display: grid;
    gap: 10px;
    margin-left: 20px;
    padding-left: 32px;
    border-left: 2px solid rgba(102, 115, 138, .26)
}

.replies .comment-row:before {
    content: "";
    position: absolute;
    margin-left: -32px;
    margin-top: 20px;
    width: 24px;
    height: 2px;
    background: rgba(102, 115, 138, .26)
}

.reply-form {
    display: none;
    margin-top: 12px;
    border-top: 1px solid var(--line);
    padding-top: 12px
}

.reply-form.open {
    display: block
}

.reply-editor,
.mini-editor {
    min-height: 86px;
    border: 1px solid var(--line);
    background: var(--paper);
    border-radius: 18px;
    padding: 12px 14px;
    outline: none;
    color: var(--ink);
    line-height: 1.55
}

.reply-editor:empty:before,
.mini-editor:empty:before {
    content: attr(data-placeholder);
    color: var(--muted)
}

.reply-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 10px
}

.side-panel {
    border: 1px solid var(--line);
    background: var(--soft);
    border-radius: 26px;
    padding: 18px
}

.side-panel b {
    display: block;
    margin-bottom: 10px
}

.side-panel ul {
    list-style: none;
    display: grid;
    gap: 8px;
    color: var(--muted);
    line-height: 1.45
}

.community {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 28px
}

.mini {
    border-radius: 28px;
    padding: 20px
}

.mini strong {
    display: block;
    font-size: 18px;
    margin-bottom: 8px
}

.mini p {
    color: var(--muted);
    line-height: 1.5
}

.footer {
    margin-top: 38px;
    padding-top: 30px;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    color: var(--muted)
}

.footer b {
    color: var(--ink)
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(15, 23, 42, .52);
    backdrop-filter: blur(10px)
}

.modal-backdrop.open {
    display: flex
}

.modal-card {
    width: min(730px, 100%);
    max-height: 92vh;
    overflow: auto;
    border-radius: 34px;
    padding: 24px
}

.modal-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px
}

.modal-head h2 {
    font-size: 34px;
    letter-spacing: -.05em
}

.modal-close {
    border: 1px solid var(--line);
    background: var(--soft);
    color: var(--ink);
    border-radius: 16px;
    width: 44px;
    height: 44px;
    font-size: 26px;
    cursor: pointer
}

.form {
    display: grid;
    gap: 14px
}

.field {
    display: grid;
    gap: 8px
}

.field-label {
    font-weight: 1000
}

.field input,
.field select {
    width: 100%;
    border: 1px solid var(--line);
    background: var(--soft);
    color: var(--ink);
    border-radius: 16px;
    padding: 13px 14px;
    outline: none
}

.toolbar {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    background: var(--soft);
    border: 1px solid var(--line);
    padding: 8px;
    border-radius: 16px
}

.toolbar button {
    border: 1px solid var(--line);
    background: var(--paper);
    color: var(--ink);
    border-radius: 11px;
    padding: 7px 10px;
    font-weight: 900
}

.upload {
    border: 1px dashed rgba(59, 130, 246, .5);
    background: rgba(59, 130, 246, .08);
    border-radius: 22px;
    padding: 22px;
    text-align: center;
    cursor: pointer
}

.upload input {
    display: none
}

.warn {
    display: none;
    border-radius: 16px;
    padding: 12px;
    background: #fee2e2;
    color: #dc2626;
    font-weight: 950
}

.warn.show {
    display: block
}

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap
}

@media(max-width:1200px) {
    .three-col {
        grid-template-columns: 1fr
    }

    .sidebar {
        position: static;
        grid-template-columns: repeat(2, 1fr)
    }

    .right-sidebar {
        grid-template-columns: repeat(2, 1fr)
    }

    .hero {
        grid-template-columns: 1fr
    }

    .hero-side {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:860px) {
    .top-inner {
        flex-wrap: wrap
    }

    .burger {
        display: grid;
        place-items: center
    }

    .nav {
        display: none;
        width: 100%;
        order: 5;
        grid-template-columns: 1fr;
        gap: 8px
    }

    .nav.open {
        display: grid
    }

    .nav button {
        width: 100%;
        text-align: left
    }

    .actions {
        margin-left: auto
    }

    .actions #createTop {
        display: none
    }

    .hero-side,
    .sidebar,
    .right-sidebar,
    .community {
        grid-template-columns: 1fr
    }

    .split-card {
        grid-template-columns: 1fr
    }

    .feed-head {
        align-items: flex-start;
        flex-direction: column
    }

    .q-card {
        border-radius: 28px;
        padding: 22px
    }

    .hero-card {
        padding: 28px;
        border-radius: 30px
    }

    .tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 8px;
    border: 1px solid var(--line);
    background: var(--soft);
    border-radius: 26px;
}

.tab {
    flex: 0 0 auto;
    white-space: nowrap;
}

    .brand-sub {
        display: none
    }
}

@media(max-width:540px) {
    .wrap {
        padding-left: 12px;
        padding-right: 12px
    }

    .top-inner {
        padding-left: 12px;
        padding-right: 12px
    }

    .q-title {
        font-size: 28px
    }

    .comment-row {
        grid-template-columns: 34px 1fr
    }

    .avatar {
        width: 34px;
        height: 34px;
        border-radius: 13px
    }

    .replies {
        margin-left: 8px;
        padding-left: 18px
    }

    .replies .comment-row:before {
        margin-left: -18px;
        width: 13px
    }

    .btn {
        width: 100%
    }

    .actions .btn {
        width: auto
    }

    .hero-actions .btn {
        width: 100%
    }
}


/* === Curated Color Mix v2: berry / aqua / lime accents; logo stays restrained === */
:root {
    --ink: #162033;
    --muted: #66748a;
    --paper: rgba(255, 255, 255, .85);
    --paper-solid: #ffffff;
    --soft: rgba(255, 255, 255, .60);
    --line: rgba(22, 32, 51, .13);
    --shadow: 0 24px 75px rgba(31, 42, 68, .16);
    --rose: #ec4899;
    --orange: #f97316;
    --yellow: #84cc16;
    --green: #22c55e;
    --cyan: #06b6d4;
    --blue: #2563eb;
    --violet: #6366f1;
    --danger: #ef4444;
    --focus: #06b6d4;
    --mix-a: #ec4899;
    --mix-b: #06b6d4;
    --mix-c: #84cc16;
    --mix-d: #6366f1;
    --deep: #162033;
}

body.dark {
    --ink: #f8fbff;
    --muted: #b8c3d7;
    --paper: rgba(15, 23, 42, .84);
    --paper-solid: #101827;
    --soft: rgba(255, 255, 255, .08);
    --line: rgba(255, 255, 255, .14);
    --shadow: 0 25px 80px rgba(0, 0, 0, .38);
    --focus: #67e8f9;
}

body {
    background: #f8fbff;
}

.page-bg {
    background: radial-gradient(circle at 9% 12%, rgba(236, 72, 153, .24) 0%, transparent 31%), radial-gradient(circle at 88% 17%, rgba(6, 182, 212, .24) 0%, transparent 34%), radial-gradient(circle at 74% 82%, rgba(132, 204, 22, .20) 0%, transparent 33%), linear-gradient(135deg, #fff7fb 0%, #effaff 38%, #f4ffe8 72%, #f5f3ff 100%);
}

body.dark .page-bg {
    background: radial-gradient(circle at 11% 10%, rgba(236, 72, 153, .20) 0%, transparent 33%), radial-gradient(circle at 88% 18%, rgba(6, 182, 212, .24) 0%, transparent 35%), radial-gradient(circle at 72% 84%, rgba(132, 204, 22, .14) 0%, transparent 35%), linear-gradient(135deg, #08111f 0%, #17203b 48%, #172412 100%);
}

.b1 {
    background: #ec4899;
    opacity: .30
}

.b2 {
    background: #06b6d4;
    opacity: .31
}

.b3 {
    background: #84cc16;
    opacity: .25
}

.brand-mark {
    background: transparent;
    box-shadow: 0 14px 30px rgba(17, 24, 39, .24), inset 0 0 0 2px rgba(255, 255, 255, .18);
}

body.dark .brand-mark {
    background: linear-gradient(135deg, #ffffff, #dbeafe) !important;
    color: #111827;
}

.hero-card:before {
    background: linear-gradient(90deg, #ec4899, #06b6d4, #84cc16, #6366f1);
}

.hero-card:after {
    color: rgba(6, 182, 212, .10)
}

.hero h1 span {
    background: linear-gradient(90deg, #ec4899, #06b6d4, #6366f1);
    -webkit-background-clip: text;
    color: transparent;
}

.eyebrow {
    color: #be185d;
    background: rgba(255, 255, 255, .74)
}

.btn-primary {
    background: linear-gradient(135deg, #111827, #164e63, #312e81);
    color: white;
    box-shadow: 0 14px 30px rgba(31, 42, 68, .24)
}

body.dark .btn-primary {
    background: linear-gradient(135deg, #f8fafc, #cffafe);
    color: #111827
}

.nav button:hover,
.nav button.active,
.pill-btn.active {
    background: linear-gradient(135deg, #111827, #164e63, #312e81);
    color: white;
    border-color: transparent;
}

body.dark .nav button:hover,
body.dark .nav button.active,
body.dark .pill-btn.active {
    background: linear-gradient(135deg, #f8fafc, #cffafe);
    color: #111827;
}

.q-card {
    --accent: linear-gradient(90deg, #ec4899, #06b6d4, #6366f1);
}

.q-card.open-example {
    --accent: linear-gradient(90deg, #84cc16, #06b6d4, #2563eb);
}

.q-card.media-card {
    --accent: linear-gradient(90deg, #06b6d4, #6366f1, #ec4899);
}

.q-card.post-card {
    --accent: linear-gradient(90deg, #6366f1, #ec4899, #06b6d4);
}

.q-card.compact-card {
    --accent: linear-gradient(90deg, #84cc16, #06b6d4, #ec4899);
}

.tag {
    background: #fce7f3;
    color: #be185d
}

.tag.green {
    background: #ecfccb;
    color: #4d7c0f
}

.tag.blue {
    background: #cffafe;
    color: #0e7490
}

.tag.violet {
    background: #e0e7ff;
    color: #4338ca
}

.tag.rose {
    background: #fce7f3;
    color: #be185d
}

.hot {
    color: #ec4899
}

.hot i {
    background: #ec4899;
    box-shadow: 0 0 0 0 rgba(236, 72, 153, .55)
}

.expand {
    color: #0891b2
}

.bar span {
    background: linear-gradient(90deg, #ec4899, #06b6d4, #6366f1)
}

.bar.green span {
    background: linear-gradient(90deg, #84cc16, #06b6d4)
}

.bar.blue span {
    background: linear-gradient(90deg, #06b6d4, #6366f1)
}

.small-avatar,
.avatar {
    background: linear-gradient(135deg, #ec4899, #06b6d4)
}

.avatar.a2 {
    background: linear-gradient(135deg, #06b6d4, #84cc16)
}

.avatar.a3 {
    background: linear-gradient(135deg, #84cc16, #ec4899)
}

.avatar.a4 {
    background: linear-gradient(135deg, #6366f1, #06b6d4)
}

.cta-side {
    background: linear-gradient(135deg, #111827, #164e63, #365314);
}

.advice {
    background: linear-gradient(135deg, rgba(132, 204, 22, .20), rgba(6, 182, 212, .13), rgba(236, 72, 153, .12));
}

.upload {
    border-color: rgba(6, 182, 212, .45);
    background: rgba(6, 182, 212, .08)
}



/* === Integrated expand button: centered, blended with question block === */
.q-more {
    position: relative;
    max-height: 0;
    overflow: hidden;
    transition: max-height .42s ease, opacity .28s ease, margin .28s ease;
    opacity: 0;
    margin-top: 0;
}

.q-more.open {
    max-height: 360px;
    opacity: 1;
    margin-top: 14px;
}

.q-more .q-text {
    max-width: 100%;
    padding: 16px 18px 54px;
    border: 1px solid rgba(22, 32, 51, .10);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .64), rgba(255, 255, 255, .38)),
        radial-gradient(circle at 10% 0%, rgba(236, 72, 153, .08), transparent 40%),
        radial-gradient(circle at 92% 12%, rgba(6, 182, 212, .10), transparent 42%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .70);
}

body.dark .q-more .q-text {
    border-color: rgba(255, 255, 255, .10);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .035)),
        radial-gradient(circle at 10% 0%, rgba(236, 72, 153, .10), transparent 40%),
        radial-gradient(circle at 92% 12%, rgba(6, 182, 212, .11), transparent 42%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

.expand-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    margin: 10px 0 2px;
}

.expand-wrap:before,
.expand-wrap:after {
    content: "";
    position: absolute;
    top: 50%;
    width: min(28%, 190px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(22, 32, 51, .12));
}

.expand-wrap:before {
    right: calc(50% + 94px)
}

.expand-wrap:after {
    left: calc(50% + 94px);
    transform: scaleX(-1)
}

body.dark .expand-wrap:before,
body.dark .expand-wrap:after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .14));
}

.expand {
    position: relative;
    z-index: 2;
    border: 1px solid rgba(22, 32, 51, .10);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .46)),
        linear-gradient(135deg, rgba(236, 72, 153, .08), rgba(6, 182, 212, .09), rgba(132, 204, 22, .07));
    color: var(--ink);
    font-weight: 950;
    padding: 11px 13px 11px 18px;
    min-width: 188px;
    border-radius: 0 0 22px 22px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow:
        0 14px 26px rgba(31, 42, 68, .09),
        inset 0 1px 0 rgba(255, 255, 255, .72);
    transform: translateY(-2px);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.expand:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 34px rgba(31, 42, 68, .13), inset 0 1px 0 rgba(255, 255, 255, .78);
}

.expand-icon {
    width: 22px;
    height: 22px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    line-height: 1;
    color: white;
    background: linear-gradient(135deg, #ec4899, #06b6d4);
    box-shadow: 0 8px 18px rgba(6, 182, 212, .22);
    transition: transform .25s ease;
}

.expand[aria-expanded="true"] .expand-icon {
    transform: rotate(180deg)
}

.q-more.open+.expand-wrap {
    margin-top: -47px;
    margin-bottom: 12px;
}

.q-more.open+.expand-wrap .expand {
    border-radius: 18px;
    min-width: 184px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .80), rgba(255, 255, 255, .56)),
        linear-gradient(135deg, rgba(236, 72, 153, .10), rgba(6, 182, 212, .11), rgba(132, 204, 22, .08));
}

body.dark .expand {
    border-color: rgba(255, 255, 255, .12);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .055)),
        linear-gradient(135deg, rgba(236, 72, 153, .10), rgba(6, 182, 212, .11), rgba(132, 204, 22, .08));
    box-shadow: 0 18px 34px rgba(0, 0, 0, .20), inset 0 1px 0 rgba(255, 255, 255, .09);
}

body.dark .q-more.open+.expand-wrap .expand {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .075)),
        linear-gradient(135deg, rgba(236, 72, 153, .12), rgba(6, 182, 212, .13), rgba(132, 204, 22, .09));
}

@media(max-width:540px) {
    .expand {
        min-width: 172px;
        width: auto;
        padding: 10px 12px 10px 16px
    }

    .expand-wrap:before,
    .expand-wrap:after {
        width: 18%
    }

    .expand-wrap:before {
        right: calc(50% + 88px)
    }

    .expand-wrap:after {
        left: calc(50% + 88px)
    }
}



/* === Cleaner engagement row + connected tabs === */
.engagement-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 20px 0 14px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .54), rgba(255, 255, 255, .28));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .58);
}

body.dark .engagement-row {
    background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .035));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12)
}

.engagement-row .stats {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    min-width: 0
}

.engagement-row .stat {
    margin: 0;
    border-radius: 18px;
    background: rgba(255, 255, 255, .56);
    box-shadow: none;
    color: var(--muted);
    padding: 10px 12px;
    font-weight: 900;
    white-space: nowrap
}

body.dark .engagement-row .stat {
    background: rgba(255, 255, 255, .07)
}

.engagement-row .stat-views,
.engagement-row .stat-comments {
    color: #526176
}

body.dark .engagement-row .stat-views,
body.dark .engagement-row .stat-comments {
    color: #c5d0e3
}

.engagement-row .stat-pulse {
    background: linear-gradient(135deg, rgba(6, 182, 212, .10), rgba(236, 72, 153, .09));
    color: #0e7490;
    border-color: rgba(6, 182, 212, .18)
}

body.dark .engagement-row .stat-pulse {
    color: #67e8f9;
    background: rgba(6, 182, 212, .12)
}

.engagement-row .votes {
    margin-left: auto;
    display: flex;
    gap: 8px;
    flex-wrap: nowrap;
    align-items: center
}

.engagement-row .vote {
    min-width: 88px;
    justify-content: center;
    border-radius: 18px;
    background: rgba(255, 255, 255, .68);
    padding: 11px 15px;
    color: #162033;
    box-shadow: 0 10px 26px rgba(31, 42, 68, .08), inset 0 1px 0 rgba(255, 255, 255, .62)
}

body.dark .engagement-row .vote {
    background: rgba(255, 255, 255, .08);
    color: #f8fbff;
    box-shadow: none
}

.engagement-row .vote b {
    font-weight: 1000
}

.engagement-row .vote.like:hover,
.engagement-row .vote.like.active {
    background: linear-gradient(135deg, rgba(132, 204, 22, .22), rgba(6, 182, 212, .14));
    color: #3f6212;
    border-color: rgba(132, 204, 22, .30)
}

.engagement-row .vote.dislike:hover,
.engagement-row .vote.dislike.active {
    background: linear-gradient(135deg, rgba(236, 72, 153, .16), rgba(249, 115, 22, .10));
    color: #be185d;
    border-color: rgba(236, 72, 153, .28)
}

.tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 8px;
    border: 1px solid var(--line);
    background: var(--soft);
    border-radius: 26px;
}

.tab {
    flex: 0 0 auto;
    white-space: nowrap;
}

body.dark .tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 8px;
    border: 1px solid var(--line);
    background: var(--soft);
    border-radius: 26px;
}

.tab {
    flex: 0 0 auto;
    white-space: nowrap;
}

.tab {
    position: relative;
    text-align: center;
    border-radius: 20px;
    padding: 14px 16px 13px;
    color: var(--muted);
    overflow: hidden
}

.tab small {
    margin-top: 4px
}

.tab.active {
    background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .78));
    color: var(--ink);
    box-shadow: 0 14px 30px rgba(31, 42, 68, .10), inset 0 0 0 1px rgba(255, 255, 255, .70);
}

.tab.active:after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 0;
    height: 4px;
    border-radius: 999px;
    background: var(--accent, linear-gradient(90deg, #ec4899, #06b6d4, #6366f1));
}

body.dark .tab.active {
    background: linear-gradient(135deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .08));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12)
}

.discussion {
    margin-top: 8px;
    border-radius: 22px 22px 28px 28px;
    border-top-color: rgba(6, 182, 212, .22);
    background: linear-gradient(180deg, rgba(255, 255, 255, .50), rgba(255, 255, 255, .30));
}

.discussion:before {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    top: 0;
    height: 3px;
    border-radius: 999px;
    background: var(--accent, linear-gradient(90deg, #ec4899, #06b6d4, #6366f1));
    opacity: .55
}

@media(max-width:760px) {
    .engagement-row {
        align-items: stretch;
        flex-direction: column;
        border-radius: 22px
    }

    .engagement-row .stats {
        display: grid;
        
        gap: 8px
    }

    .engagement-row .stat-pulse {
        grid-column: 1/-1;
        text-align: center;
        justify-content: center
    }

    .engagement-row .votes {
        width: 100%;
        margin-left: 0;
        display: grid;
        
    }

    .engagement-row .vote {
        width: 100%;
        min-width: 0
    }

    .tab {
        text-align: left
    }
}


/* === Mobile header refinement === */
@media(max-width:860px) {
    .actions .btn-primary {
        display: none !important;
    }

    .theme,
    .burger {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        border-radius: 16px !important;
        display: grid !important;
        place-items: center !important;
        padding: 0 !important;
        flex: 0 0 48px !important;
    }

    .actions {
        gap: 10px !important;
    }
}


/* === Readability and visual comfort pass === */
:root {
    --ink: #111827;
    --muted: #4f5f78;
    --muted-strong: #334155;
    --paper: rgba(255, 255, 255, .92);
    --soft: rgba(248, 250, 252, .82);
    --line: rgba(22, 32, 51, .15);
}

body.dark {
    --ink: #f8fafc;
    --muted: #cbd5e1;
    --muted-strong: #e2e8f0;
    --paper: rgba(15, 23, 42, .90);
    --soft: rgba(255, 255, 255, .095);
    --line: rgba(255, 255, 255, .17);
}

.q-card,
.hero-card,
.side-widget,
.mini,
.modal-card {
    background: var(--paper);
    border-color: rgba(22, 32, 51, .13);
}

body.dark .q-card,
body.dark .hero-card,
body.dark .side-widget,
body.dark .mini,
body.dark .modal-card {
    border-color: rgba(255, 255, 255, .15);
}

.hero p,
.q-text,
.side-widget p,
.side-widget li,
.mini p,
.footer,
.side-panel ul,
.trend-item span,
.author-card span {
    color: var(--muted);
}

.q-title {
    color: var(--ink);
    letter-spacing: -.04em;
}

.q-text {
    font-size: 17px;
    line-height: 1.72;
    max-width: 820px;
}

.hero p {
    font-size: 19px;
    line-height: 1.65;
    color: var(--muted-strong);
}

.card-top {
    margin-bottom: 16px;
}

.tag {
    letter-spacing: .045em;
    text-transform: uppercase;
    font-size: 12px;
    border: 1px solid rgba(255, 255, 255, .45);
}

.hot {
    color: #db2777;
}

.q-more {
    margin-top: 14px;
    border-radius: 24px;
}

.q-more.open {
    padding: 18px 18px 52px;
    background: linear-gradient(180deg, rgba(248, 250, 252, .92), rgba(241, 245, 249, .82));
    border: 1px solid rgba(22, 32, 51, .11);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
}

body.dark .q-more.open {
    background: linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .055));
    border-color: rgba(255, 255, 255, .12);
}

.q-more.open .q-text {
    color: var(--muted-strong);
}

.stat,
.vote,
.comment-action,
.side-nav a,
.topic-chip {
    color: var(--muted-strong);
    background: rgba(255, 255, 255, .72);
}

body.dark .stat,
body.dark .vote,
body.dark .comment-action,
body.dark .side-nav a,
body.dark .topic-chip {
    background: rgba(255, 255, 255, .075);
}

.engagement-panel,
.stats-row,
.reactions-row {
    color: var(--muted-strong);
}

.tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 8px;
    border: 1px solid var(--line);
    background: var(--soft);
    border-radius: 26px;
}

.tab {
    flex: 0 0 auto;
    white-space: nowrap;
}

body.dark .tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 8px;
    border: 1px solid var(--line);
    background: var(--soft);
    border-radius: 26px;
}

.tab {
    flex: 0 0 auto;
    white-space: nowrap;
}

.tab {
    color: var(--muted-strong);
    border: 1px solid transparent;
}

.tab.active {
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    color: var(--ink);
    border-color: rgba(22, 32, 51, .11);
    box-shadow: 0 12px 28px rgba(31, 42, 68, .12);
}

body.dark .tab.active {
    background: linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .08));
    border-color: rgba(255, 255, 255, .14);
}

.discussion {
    margin-top: 0;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(248, 250, 252, .74));
}

body.dark .discussion {
    background: linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .045));
}

.bubble {
    background: rgba(255, 255, 255, .78);
}

body.dark .bubble {
    background: rgba(255, 255, 255, .08);
}

.comment-text {
    color: var(--muted-strong);
    font-size: 15px;
    line-height: 1.58;
}

.date {
    color: var(--muted);
}

.feed-head p {
    color: var(--muted);
    max-width: 760px;
}

.lock-box p {
    color: var(--muted-strong);
}

.lock-box {
    width: min(420px, 100%);
}

.auth-options {
    display: grid;
    
    gap: 8px;
    margin-top: 12px;
}

.auth-provider {
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: var(--soft);
    color: var(--ink);
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 950;
    transition: .2s;
}

.auth-provider:hover {
    transform: translateY(-1px);
    border-color: rgba(22, 32, 51, .22);
    box-shadow: 0 10px 22px rgba(31, 42, 68, .10);
}

.auth-provider.primary {
    grid-column: 1 / -1;
    background: linear-gradient(135deg, #111827, #164e63, #312e81);
    color: white;
    border-color: transparent;
}

body.dark .auth-provider.primary {
    background: linear-gradient(135deg, #f8fafc, #cffafe);
    color: #111827;
}

.auth-more {
    grid-column: 1 / -1;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: rgba(255, 255, 255, .52);
    overflow: hidden;
}

body.dark .auth-more {
    background: rgba(255, 255, 255, .06);
}

.auth-more summary {
    list-style: none;
    min-height: 42px;
    padding: 0 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    font-weight: 950;
    color: var(--muted-strong);
}

.auth-more summary::-webkit-details-marker {
    display: none
}

.auth-extra {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 0 10px 10px;
}

.auth-chip {
    flex: 1 1 112px;
    border: 1px solid var(--line);
    background: var(--paper);
    color: var(--ink);
    border-radius: 999px;
    padding: 9px 11px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 900;
}

.auth-note {
    margin-top: 10px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

@media(max-width:540px) {
    .lock-box {
        padding: 18px;
        max-width: 340px
    }

    .auth-options {
        grid-template-columns: 1fr
    }

    .auth-provider.primary {
        grid-column: auto
    }
}


.expand {
    color: #0e7490;
}

body.dark .expand {
    color: #67e8f9;
}

@media(max-width:540px) {
    .q-text {
        font-size: 16px;
        line-height: 1.68;
    }

    .hero p {
        font-size: 17px;
    }

    .q-card {
        padding: 24px 20px;
    }

    .q-more.open {
        padding: 16px 14px 50px;
    }
}



/* === Reddit-like comment votes: clean desktop/mobile layout === */
.discussion {
    padding: 18px;
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .70), rgba(255, 255, 255, .42));
}

.comment-tree {
    gap: 18px;
}

.thread {
    gap: 14px;
}

.comment-row {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}

.comment-vote-rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    padding: 2px 0;
}

.comment-vote {
    width: 48px;
    height: 48px;
    border-radius: 18px;
    border: 1px solid rgba(102, 115, 138, .20);
    background: rgba(255, 255, 255, .72);
    color: #516078;
    box-shadow: 0 10px 24px rgba(31, 42, 68, .08);
    cursor: pointer;
    font-size: 18px;
    font-weight: 1000;
    display: grid;
    place-items: center;
    transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.comment-vote:hover {
    transform: translateY(-2px);
    background: #fff;
    box-shadow: 0 16px 34px rgba(31, 42, 68, .13);
}

.comment-vote.is-up.active {
    background: #dcfce7;
    color: #15803d;
    border-color: rgba(21, 128, 61, .22);
}

.comment-vote.is-down.active {
    background: #fee2e2;
    color: #dc2626;
    border-color: rgba(220, 38, 38, .22);
}

.comment-score {
    font-size: 24px;
    line-height: 1;
    font-weight: 1000;
    letter-spacing: -.04em;
    color: var(--ink);
    min-width: 46px;
    text-align: center;
}

.bubble {
    position: relative;
    border-radius: 28px;
    padding: 19px 20px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 14px 40px rgba(31, 42, 68, .08);
}

.bubble:before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(236, 72, 153, .24), rgba(6, 182, 212, .22), rgba(132, 204, 22, .14));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.comment-head {
    gap: 10px;
}

.avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: white;
    font-weight: 1000;
    box-shadow: 0 14px 28px rgba(31, 42, 68, .16);
}

.avatar:after {
    content: "A";
}

.avatar.a2:after {
    content: "N"
}

.avatar.a3:after {
    content: "S"
}

.avatar.a4:after {
    content: "K"
}

.comment-head .avatar {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
}

.comment-author-line {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.author {
    font-size: 16px;
    letter-spacing: -.02em;
}

.date {
    font-size: 14px;
}

.comment-text {
    font-size: 16px;
    line-height: 1.62;
    color: #2f3a4f;
    margin-top: 12px;
}

body.dark .comment-text {
    color: #d6deec;
}

.comment-actions {
    margin-top: 16px;
    align-items: center;
}

.comment-actions-left {
    gap: 8px;
}

.comment-action {
    padding: 9px 13px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .62);
    font-weight: 900;
}

.comment-spam {
    background: rgba(239, 68, 68, .08);
}

.replies {
    margin-left: 38px;
    padding-left: 0;
    border-left: 0;
    gap: 14px;
}

.replies .comment-row:before {
    display: none;
    content: none;
}

.replies .comment-row {
    grid-template-columns: 66px minmax(0, 1fr);
}

.replies .comment-vote {
    width: 42px;
    height: 42px;
    border-radius: 16px;
}

.replies .comment-score {
    font-size: 21px;
}

.replies .bubble {
    border-radius: 26px;
}

body.dark .comment-vote {
    background: rgba(255, 255, 255, .08);
    color: #cbd5e1;
    border-color: rgba(255, 255, 255, .14);
}

body.dark .comment-vote:hover {
    background: rgba(255, 255, 255, .14);
}

body.dark .bubble {
    background: rgba(255, 255, 255, .075);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .22);
}

@media(max-width:720px) {
    .discussion {
        padding: 12px;
        border-radius: 26px;
    }

    .comment-tree {
        gap: 14px;
    }

    .comment-row,
    .replies .comment-row {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 10px;
    }

    .comment-vote-rail {
        gap: 7px;
        position: sticky;
        top: 74px;
        align-self: start;
    }

    .comment-vote,
    .replies .comment-vote {
        width: 38px;
        height: 38px;
        border-radius: 14px;
        font-size: 15px;
    }

    .comment-score,
    .replies .comment-score {
        font-size: 18px;
        min-width: 38px;
    }

    .bubble,
    .replies .bubble {
        padding: 15px;
        border-radius: 22px;
    }

    .comment-head .avatar {
        width: 36px;
        height: 36px;
    }

    .author {
        font-size: 15px;
    }

    .date {
        font-size: 12px;
    }

    .comment-text {
        font-size: 14px;
        line-height: 1.55;
    }

    .comment-actions {
        justify-content: flex-start;
    }

    .comment-spam {
        display: none;
    }

    .replies {
        margin-left: 8px;
        gap: 12px;
    }
}

@media(max-width:420px) {

    .comment-row,
    .replies .comment-row {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 8px;
    }

    .comment-vote,
    .replies .comment-vote {
        width: 34px;
        height: 34px;
        border-radius: 12px;
    }

    .comment-score,
    .replies .comment-score {
        font-size: 16px;
        min-width: 34px;
    }

    .bubble,
    .replies .bubble {
        padding: 13px;
        border-radius: 20px;
    }
}


/* === Auto translation UI: Variant 1 === */
.translation-root {
    margin-top: 12px;
}

.translation-text {
    display: none;
    animation: fadeTranslation .18s ease;
}

.translation-text.is-visible {
    display: block;
}

.translation-meta {
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.translation-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #74839a;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: -.01em;
}

.translation-label .globe {
    filter: saturate(.85);
    opacity: .92;
}

.translation-status {
    opacity: .96;
}

.translation-toggle {
    border: 0;
    background: transparent;
    color: #2563eb;
    font-size: 13px;
    font-weight: 950;
    cursor: pointer;
    padding: 0;
    transition: opacity .18s ease, transform .18s ease;
}

.translation-toggle:hover {
    opacity: .75;
    transform: translateY(-1px);
}

body.dark .translation-label {
    color: #aebbd0;
}

body.dark .translation-toggle {
    color: #67e8f9;
}

@keyframes fadeTranslation {
    from {
        opacity: 0;
        transform: translateY(2px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@media(max-width:540px) {
    .translation-meta {
        align-items: flex-start;
        flex-direction: column;
    }
}



/* === Answer-to-question composer: separate branches for approval/disapproval === */
.question-composer {
    position: relative;
    z-index: 1;
    margin: 8px 0 18px;
    padding: 16px;
    border: 1px solid rgba(22, 32, 51, .12);
    border-radius: 26px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(248, 250, 252, .68)),
        radial-gradient(circle at 10% 0%, rgba(132, 204, 22, .10), transparent 38%),
        radial-gradient(circle at 92% 8%, rgba(6, 182, 212, .10), transparent 42%);
    box-shadow: 0 14px 34px rgba(31, 42, 68, .08), inset 0 1px 0 rgba(255, 255, 255, .74);
}

body.dark .question-composer {
    border-color: rgba(255, 255, 255, .13);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .055)),
        radial-gradient(circle at 10% 0%, rgba(132, 204, 22, .10), transparent 38%),
        radial-gradient(circle at 92% 8%, rgba(6, 182, 212, .11), transparent 42%);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .20), inset 0 1px 0 rgba(255, 255, 255, .09);
}

.question-composer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.question-composer-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 1000;
    color: var(--ink);
    letter-spacing: -.02em;
}

.question-branch-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(132, 204, 22, .16);
    border: 1px solid rgba(132, 204, 22, .24);
    color: #3f6212;
    font-size: 12px;
    font-weight: 1000;
    white-space: nowrap;
}

.question-composer[data-side="disapprove"] .question-branch-badge {
    background: rgba(236, 72, 153, .13);
    border-color: rgba(236, 72, 153, .22);
    color: #be185d;
}

body.dark .question-branch-badge {
    color: #bef264;
    background: rgba(132, 204, 22, .13)
}

body.dark .question-composer[data-side="disapprove"] .question-branch-badge {
    color: #f9a8d4;
    background: rgba(236, 72, 153, .13)
}

.question-editor {
    min-height: 92px;
    border: 1px solid rgba(22, 32, 51, .13);
    background: rgba(255, 255, 255, .78);
    border-radius: 20px;
    padding: 13px 15px;
    color: var(--ink);
    outline: none;
    line-height: 1.6;
}

.question-editor:empty:before {
    content: attr(data-placeholder);
    color: var(--muted);
}

body.dark .question-editor {
    border-color: rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .07);
}

.question-composer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.question-composer-hint {
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
}

.question-submit {
    min-width: 156px;
}

.question-composer.is-locked {
    display: none;
}

@media(max-width:540px) {
    .question-composer {
        padding: 14px;
        border-radius: 22px
    }

    .question-composer-actions {
        align-items: stretch;
        flex-direction: column
    }

    .question-submit {
        width: 100%
    }
}



/* === SEO-friendly registration wall === */
.has-auth-required .auth-required-comments {
    position: relative;
}

.auth-seo-note {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 12px;
    padding: 8px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .64);
    border: 1px solid var(--line);
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
}

body.dark .auth-seo-note {
    background: rgba(255, 255, 255, .07);
}



/* === QRazy Rich Editor integration === */
.field textarea.js-rich-editor {
    width: 100%;
    min-height: 160px;
}

.qre {
    border-color: rgba(6, 182, 212, .55);
    border-radius: 22px;
    background: var(--paper);
    box-shadow: 0 14px 34px rgba(31, 42, 68, .08), inset 0 1px 0 rgba(255, 255, 255, .74);
    overflow: visible;
}

.qre-toolbar {
    border-bottom: 1px solid var(--line);
    background: var(--soft);
    border-radius: 20px 20px 0 0;
}

.qre-btn,
.qre-lang-btn {
    color: var(--ink);
    background: rgba(255, 255, 255, .66);
    border: 1px solid var(--line);
}

.qre-btn:hover,
.qre-btn.is-active {
    background: var(--paper-solid);
}

.qre-editor {
    background: var(--paper);
    color: var(--ink);
    border-radius: 0 0 20px 20px;
    padding: 18px;
    min-height: var(--qre-height, 210px);
}

.qre-footer {
    background: var(--soft);
    border-top: 1px solid var(--line);
    border-radius: 0 0 20px 20px;
}

body.dark .qre,
body.dark .qre-editor {
    background: rgba(255, 255, 255, .065);
}

body.dark .qre-toolbar,
body.dark .qre-footer {
    background: rgba(255, 255, 255, .055);
}

body.dark .qre-btn,
body.dark .qre-lang-btn {
    background: rgba(255, 255, 255, .08);
    color: var(--ink);
}

/* === Language switcher === */
.lang-toggle {
    min-width: 82px;
    gap: 6px;
    font-weight: 1000;
    letter-spacing: -.02em
}

.lang-toggle .lang-current {
    padding: 3px 7px;
    border-radius: 999px;
    background: #172033;
    color: #fff
}

body.dark .lang-toggle .lang-current {
    background: #fff;
    color: #111827
}

.lang-toggle .lang-sep {
    color: var(--muted)
}

@media(max-width:540px) {
    .lang-toggle {
        min-width: 70px;
        padding-left: 10px;
        padding-right: 10px
    }
}


/* Extra home form, mobile create and tags styles */
/* Create-question validation alerts */
.form-alerts {
    display: grid;
    gap: 10px;
    margin: 0 0 14px
}

.form-alert-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 13px 14px;
    border: 1px solid rgba(239, 68, 68, .26);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255, 241, 242, .96), rgba(255, 247, 237, .9));
    box-shadow: 0 12px 34px rgba(239, 68, 68, .10);
    color: #172033
}

.form-alert-card strong {
    display: block;
    font-size: 15px;
    font-weight: 900;
    margin-bottom: 3px
}

.form-alert-card p {
    margin: 0;
    color: #5b687d;
    font-size: 13px;
    line-height: 1.4
}

.form-alert-icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 11px;
    background: #ef4444;
    color: #fff;
    font-weight: 1000;
    box-shadow: 0 8px 18px rgba(239, 68, 68, .24)
}

.form-alert-card.is-success {
    border-color: rgba(16, 185, 129, .26);
    background: linear-gradient(135deg, rgba(236, 253, 245, .98), rgba(240, 253, 250, .9));
    box-shadow: 0 12px 34px rgba(16, 185, 129, .10)
}

.form-alert-card.is-success .form-alert-icon {
    background: #10b981;
    box-shadow: 0 8px 18px rgba(16, 185, 129, .22)
}

.field-error {
    margin: 7px 2px 0;
    color: #ef4444;
    font-size: 12px;
    font-weight: 800
}

.field input.is-invalid,
.field select.is-invalid,
.field textarea.is-invalid,
.field.is-invalid input,
.field.is-invalid select,
.field.is-invalid textarea,
.qre.is-invalid {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, .12) !important
}

.upload.is-invalid {
    border-color: #ef4444 !important;
    background: linear-gradient(135deg, rgba(255, 241, 242, .92), rgba(255, 247, 237, .88)) !important;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, .10) !important
}

@media(max-width:540px) {
    .form-alert-card {
        border-radius: 15px;
        padding: 12px
    }

    .form-alert-icon {
        width: 28px;
        height: 28px
    }
}

.mobile-create-wrap {
    display: none;
    padding: 14px 18px 2px;
}

.mobile-create-btn {
    width: 100%;
    height: 52px;
    border: 0;
    border-radius: 18px;
    background: linear-gradient(135deg, #0f172a, #243b53 55%, #3b82f6);
    color: #fff;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: .2px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .22);
}

.mobile-create-btn:active {
    transform: scale(.99);
}

@media (max-width: 768px) {
    .mobile-create-wrap {
        display: block;
    }
}

.tags-box {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 58px;
    padding: 10px 12px;
    border: 1px solid #cfd6df;
    border-radius: 18px;
    background: #fff;
    transition: .2s ease;
}

.tags-box:focus-within {
    border-color: #3b82f6;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, .10);
}

.tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tags-box input {
    flex: 1;
    min-width: 160px;
    border: 0;
    outline: none;
    background: transparent;
    font-size: 15px;
    color: #111827;
    padding: 4px;
}

.tag-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #e0f2fe, #dbeafe);
    color: #172554;
    font-size: 13px;
    font-weight: 800;
}

.tag-chip button {
    border: 0;
    background: transparent;
    color: #1e3a8a;
    cursor: pointer;
    font-size: 15px;
    font-weight: 900;
    padding: 0;
    line-height: 1;
}

.tags-hint {
    margin-top: 7px;
    font-size: 12px;
    color: #64748b;
}

/* Auth modal and simple locked discussion placeholder */
.lock-placeholder {
    max-width: 360px;
    padding: 24px;
}

.lock-placeholder .btn {
    width: 100%;
    justify-content: center;
    margin-top: 14px;
}

.auth-modal-card {
    position: relative;
    width: min(370px, 100%);
    padding: 28px 24px 22px;
    text-align: center;
    border-radius: 26px;
}

.auth-modal-card h2 {
    font-size: 21px;
    letter-spacing: -.03em;
    margin: 0 0 8px;
}

.auth-modal-card p {
    color: var(--muted-strong);
    line-height: 1.45;
    margin: 0 0 14px;
}

.auth-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border-radius: 13px;
    font-size: 22px;
}

.auth-modal .auth-options {
    text-align: left;
}

.q-more.openall {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    margin-top: 14px !important;
}



.post-author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 14px 0 18px;
}

.author-avatar-link {
    display: flex;
    text-decoration: none;
}

.author-avatar {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    object-fit: cover;
    border: 1px solid var(--line);
}

.author-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.author-name {
    font-weight: 900;
    font-size: 15px;
    color: var(--ink);
    text-decoration: none;
}

.author-name:hover {
    opacity: .8;
}

.author-role {
    font-size: 13px;
    color: var(--muted);
}


/*
.q-more.open {
  max-height: 5000px !important;
  height: auto !important;
  overflow: visible !important;
}
*/


/* === FIX OVERRIDE: equal width tabs === */
.tabs{
  display:flex !important;
  gap:8px;
  overflow-x:auto;
  padding:8px;
  border:1px solid var(--line);
  background:var(--soft);
  border-radius:26px;
}

.tab{
  flex:1 1 0 !important;
  min-width:120px;
  text-align:center;
  white-space:normal;
}

.main-avatar{
    border-radius:50%;
    object-fit:cover;
}


.q-more ul,
.q-more ol {
    margin: 15px 0;
    padding-left: 25px;
}

.q-more ul {
    list-style: disc;
}

.q-more ol {
    list-style: decimal;
}

.q-more li {
    margin: 4px 0;
}


.related-topics{
    margin-top:36px;
}

.related-topics h2{
    margin:0 0 18px;
    font-size:28px;
}

.related-grid{
    display:grid;
    gap:14px;
}

.related-card{
    display:grid;
    grid-template-columns:180px 1fr;
    gap:18px;
    padding:14px;
    border:1px solid rgba(15,23,42,.12);
    border-radius:18px;
    background:#fff;    
    color:inherit;
    text-decoration:none;
    transition:.2s;
}

.related-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(15,23,42,.08);
}

.related-card img{
    width:180px;
    height:105px;
    object-fit:cover;
    border-radius:14px;
}

.related-card:not(:has(img)){
    grid-template-columns:1fr;
}

.related-content h3{
    margin:0 0 8px;
    font-size:19px;
    line-height:1.25;
}


.related-content p{
    margin:0;
    color:#64748b;
    font-size:15px;
    line-height:1.35;
}

@media(max-width:700px){
    .related-card{
        grid-template-columns:1fr;
    }

    .related-card img{
        width:100%;
        height:180px;
    }
}

.seo-pagination{
    position:absolute;
    left:-99999px;
    width:1px;
    height:1px;
    overflow:hidden;
}
.post-disclaimer {
    margin: 10px 0 20px;
    font-size: 13px;
    color: #777;
    line-height: 1.4;
    background: #f5f5f7;
    padding: 10px 12px;
    border-radius: 8px;
}

.post-meta {
    margin-top: 8px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.post-date {
    font-size: 13px;
    color: #8a8f98;
    font-weight: 500;
    background: rgba(0,0,0,0.04);
    padding: 4px 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
}

.feed,
#topicsFeed,
.q-card,
.q-more {
    min-width: 0;
    max-width: 100%;
}

.q-more {
    overflow: hidden;
}

.q-more pre,
.q-more code {
    max-width: 100%;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.q-more img,
.q-more iframe,
.q-more table {
    max-width: 100%;
}

.q-more blockquote {
    position: relative;
    margin: 24px 0;
    padding: 18px 22px 18px 28px;

    background: linear-gradient(135deg,#f8fbff,#f3f8ff);
    border-left: 5px solid #4f8df5;
    border-radius: 14px;

    color: #2d3748;
    font-size: 17px;
    line-height: 1.75;
    font-style: italic;

    box-shadow: 0 8px 20px rgba(0,0,0,.05);
}

.q-more blockquote::before {
    content: "“";
    position: absolute;
    top: -12px;
    left: 14px;

    font-size: 64px;
    line-height: 1;
    color: rgba(79,141,245,.18);

    font-family: Georgia, serif;
}

.q-more blockquote p:first-child {
    margin-top: 0;
}

.q-more blockquote p:last-child {
    margin-bottom: 0;
}