
        .question-answer-page {
            display: grid;
            gap: clamp(1.5rem, 4vw, 2.5rem);
            max-width: 720px;
            margin-inline: auto;
            padding-bottom: clamp(2.5rem, 6vw, 4rem);
        }

        .question-answer-page__header {
            display: grid;
            gap: 0.75rem;
            text-align: center;
        }

        .question-answer-page__title {
            margin: 0;
            font-size: clamp(1.8rem, 4vw, 2.4rem);
            font-weight: 800;
            color: #f8fafc;
        }

        .question-answer-page__meta {
            margin: 0;
            color: rgba(226, 232, 240, 0.7);
        }

        .question-host-chip {
            margin: 0.5rem auto 0;
            display: inline-flex;
            align-items: center;
            gap: 0.65rem;
            padding: 0.35rem 1rem;
            border-radius: 999px;
            border: 1px solid rgba(148, 163, 184, 0.2);
            background: rgba(15, 23, 42, 0.6);
        }

        .question-host-chip--link {
            text-decoration: none;
            color: inherit;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .question-host-chip--link:focus-visible {
            outline: 2px solid rgba(99, 102, 241, 0.6);
            outline-offset: 3px;
        }

        .question-host-chip--link:hover {
            box-shadow: 0 10px 25px rgba(15, 23, 42, 0.35);
        }

        .question-host-chip__icon {
            width: 42px;
            height: 42px;
            border-radius: 16px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(99, 102, 241, 0.18);
            color: #c7d2fe;
        }

        .question-host-chip__icon svg {
            width: 24px;
            height: 24px;
            fill: none;
            stroke: currentColor;
        }

        .question-host-chip__body p {
            margin: 0;
            font-weight: 600;
            color: #f8fafc;
        }

        .question-host-chip__link,
        .question-host-chip__hint {
            font-size: 0.82rem;
            color: rgba(226, 232, 240, 0.75);
        }

        .question-host-chip__link {
            color: #c7d2fe;
        }

        .question-answer-page__actions {
            display: flex;
            justify-content: flex-end;
            margin-top: 1rem;
        }

        .question-report-button {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            border: 1px solid rgba(248, 113, 113, 0.4);
            color: rgba(248, 113, 113, 0.9);
            background: transparent;
            border-radius: 999px;
            padding: 0.4rem 0.9rem;
            font-size: 0.9rem;
            cursor: pointer;
            transition: background 0.2s ease, color 0.2s ease;
        }

        .question-report-button svg {
            width: 16px;
            height: 16px;
        }

        .question-report-button:hover,
        .question-report-button:focus-visible {
            background: rgba(248, 113, 113, 0.1);
            color: #f87171;
            outline: none;
        }

        .alert {
            display: inline-flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.75rem 1rem;
            border-radius: 16px;
            border: 1px solid rgba(34, 197, 94, 0.32);
            background: rgba(34, 197, 94, 0.12);
            color: #bbf7d0;
        }

        .answer-form {
            border-radius: 26px;
            padding: clamp(1.8rem, 4vw, 2.4rem);
            border: 1px solid rgba(148, 163, 184, 0.2);
            background: rgba(15, 23, 42, 0.75);
        }

        .answer-form h2 {
            margin: 0 0 0.5rem;
            font-size: 1.4rem;
            font-weight: 700;
            color: #f8fafc;
        }

        .answer-hint {
            margin: 0 0 1rem;
            color: rgba(226, 232, 240, 0.72);
        }

        .answer-identity {
            display: grid;
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }

        .answer-identity__label {
            margin: 0;
            font-weight: 600;
            color: rgba(226, 232, 240, 0.82);
        }

        .answer-identity__options {
            display: grid;
            gap: 0.5rem;
        }

        .answer-identity__option {
            display: flex;
            align-items: center;
            gap: 0.9rem;
            border: 1px solid rgba(99, 102, 241, 0.2);
            border-radius: 20px;
            padding: 0.9rem 1.1rem;
            cursor: pointer;
            transition: border-color 0.2s ease, background 0.2s ease;
        }

        .answer-identity__option:hover,
        .answer-identity__option:has(input:checked) {
            border-color: rgba(99, 102, 241, 0.45);
            background: rgba(99, 102, 241, 0.08);
        }

        .answer-identity__option input {
            position: absolute;
            opacity: 0;
        }

        .answer-identity__badge {
            width: 48px;
            height: 48px;
            border-radius: 16px;
            background: rgba(99, 102, 241, 0.15);
            color: #c7d2fe;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 1.4rem;
        }

        .answer-identity__badge--public {
            background: rgba(34, 197, 94, 0.15);
            color: #86efac;
        }

        .answer-identity__text strong {
            display: block;
            color: #f8fafc;
            font-weight: 700;
        }

        .answer-identity__text small {
            color: rgba(226, 232, 240, 0.65);
        }

        .public-answers {
            border-radius: 24px;
            border: 1px solid rgba(148, 163, 184, 0.22);
            background: rgba(15, 23, 42, 0.7);
            padding: 1.4rem;
            display: grid;
            gap: 1rem;
        }

        .public-answers__list {
            display: grid;
            gap: 0.9rem;
        }

        .public-answer {
            border: 1px solid rgba(148, 163, 184, 0.2);
            border-radius: 18px;
            padding: 1rem 1.1rem;
            background: rgba(15, 23, 42, 0.5);
            display: grid;
            gap: 0.4rem;
        }

        .public-answers__range {
            margin: 0;
            color: rgba(226, 232, 240, 0.6);
            font-size: 0.9rem;
        }

        .public-answers__pagination {
            display: flex;
            justify-content: center;
            gap: 0.75rem;
            margin-top: 1rem;
        }
        .public-answer__meta {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 0.6rem;
            color: rgba(226, 232, 240, 0.7);
        }

        .public-answer__author {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            font-weight: 600;
        }

        .public-answer__body {
            margin: 0;
            color: rgba(226, 232, 240, 0.9);
        }

        .public-answer__empty,
        .public-answers--locked {
            display: grid;
            justify-items: center;
            text-align: center;
            gap: 0.4rem;
            border-radius: 20px;
            border: 1px dashed rgba(148, 163, 184, 0.35);
            padding: 1.25rem;
            color: rgba(226, 232, 240, 0.75);
        }

        body.theme-light .public-answers,
        body.theme-light .public-answer {
            background: rgba(255, 255, 255, 0.94);
            border-color: rgba(203, 213, 225, 0.6);
            color: #0f172a;
        }

        body.theme-light .public-answer__body,
        body.theme-light .public-answer__meta,
        body.theme-light .public-answers--locked,
        body.theme-light .public-answer__empty {
            color: #475569;
        }

        body.theme-light .public-answers--locked,
        body.theme-light .public-answer__empty {
            background: rgba(248, 250, 252, 0.95);
        }
        body.theme-dark .page-wrapper {
            background: radial-gradient(120% 120% at 100% 0%, rgba(79, 70, 229, 0.45) 0%, rgba(15, 23, 42, 0.95) 45%, #020617 100%);
        }

        body.theme-dark .question-answer-page, body.theme-dark .question-answer-page p, body.theme-dark .question-answer-page label, body.theme-dark .question-answer-page small { color: #0f172a; }

        body.theme-light .page-wrapper {
            background: linear-gradient(120% 120% at 50% 0%, rgba(96, 165, 250, 0.18) 0%, rgba(248, 250, 252, 0.95) 45%, #f8fafc 100%);
        }

        body.theme-light .question-answer-page, body.theme-light .question-answer-page p, body.theme-light .question-answer-page label, body.theme-light .question-answer-page small { color: #f8fafc; }

        body.theme-light .question-answer-page__title { color: #f8fafc; }

        body.theme-light .question-answer-page__meta, body.theme-light .question-host-chip__body p, body.theme-light .answer-hint { color: #e2e8f0; }

        body.theme-light .question-host-chip {
            border-color: rgba(203, 213, 225, 0.6);
            background: rgba(248, 250, 252, 0.95);
        }

        body.theme-light .question-host-chip__icon {
            background: rgba(59, 130, 246, 0.12);
            color: #1d4ed8;
        }

        body.theme-light .public-answers__range {
            color: #475569;
        }
        body.theme-light .answer-form {
            background: rgba(255, 255, 255, 0.95);
            border-color: rgba(203, 213, 225, 0.6);
        }

        body.theme-light .answer-identity__option {
            border-color: rgba(203, 213, 225, 0.8);
            background: rgba(248, 250, 252, 0.9);
        }

        body.theme-light .answer-identity__badge {
            background: rgba(99, 102, 241, 0.12);
            color: #1d4ed8;
        }

        body.theme-light .answer-identity__badge--public {
            background: rgba(74, 222, 128, 0.18);
            color: #15803d;
        }

        body.theme-light .form-floating textarea {
            background: rgba(248, 250, 252, 0.95);
            border-color: rgba(203, 213, 225, 0.6);
            color: #0f172a;
        }

        body.theme-light .alert {
            background: rgba(34, 197, 94, 0.12);
            border-color: rgba(34, 197, 94, 0.3);
            color: #166534;
        }
    


        /* Theme inversion for host chip hint */
        body.theme-light .question-host-chip__hint { color: #f8fafc; }
        body.theme-dark .question-host-chip__hint { color: #0f172a; }

        /* Enforce text color per theme for ask/{slug} */
        body.theme-dark .question-answer-page, 
        body.theme-dark .question-answer-page * { color: #f8fafc !important; }
        body.theme-light .question-answer-page, 
        body.theme-light .question-answer-page * { color: #0f172a !important; }

        /* Make report button red on ask/{slug} */
        .question-answer-page .question-report-button {
            background: linear-gradient(135deg, #ef4444, #dc2626);
            color: #fff !important;
            border-color: transparent;
            box-shadow: 0 14px 30px rgba(220, 38, 38, 0.35);
        }
        .question-answer-page .question-report-button:hover,
        .question-answer-page .question-report-button:focus-visible {
            background: linear-gradient(135deg, #f87171, #ef4444);
            color: #fff !important;
        }
