html body.questions-page .main-container.main-container {
    width: 100% !important;
    max-width: none !important;
    padding-block: 36px 88px !important;
}

html body.questions-page .questions-container.questions-container {
    display: grid;
    width: min(100% - 48px, 1280px) !important;
    max-width: 1280px !important;
    gap: 24px;
    padding: 0 !important;
}

html body.questions-page :is(.questions-filter-panel, .questions-list-panel) {
    border: 1px solid var(--ds-t-hairline);
    border-radius: 8px;
    background: var(--ds-t-surface);
    box-shadow: none;
}

html body.questions-page .questions-filter-panel {
    display: grid;
    gap: 24px;
    padding: 28px 32px;
}

html body.questions-page .questions-page-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

html body.questions-page #questionsPageTitle#questionsPageTitle {
    margin: 0;
    color: var(--ds-t-ink);
    font-size: 30px !important;
    font-weight: 680 !important;
    line-height: 1.2;
    letter-spacing: 0;
}

html body.questions-page .questions-search-bar {
    display: grid;
    gap: 18px;
}

html body.questions-page :is(.questions-filter-row, .questions-selected-row) {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    min-width: 0;
}

html body.questions-page .questions-filter-label {
    color: var(--ds-t-ink);
    font-size: 15px;
    font-weight: 620;
    line-height: 1.4;
    white-space: nowrap;
}

html body.questions-page .questions-container .search-box {
    display: grid !important;
    grid-template-columns: minmax(280px, 1fr) 170px auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0;
}

html body.questions-page .questions-keyword-control {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-width: 0;
    height: 48px;
    padding: 0 16px;
    border: 1px solid var(--ds-t-hairline);
    border-radius: 8px;
    background: var(--ds-t-canvas);
    color: color-mix(in srgb, var(--ds-t-ink) 52%, transparent);
}

html body.questions-page .questions-keyword-control:focus-within {
    border-color: var(--ds-t-ink);
    outline: 2px solid color-mix(in srgb, var(--ds-t-ink) 18%, transparent);
    outline-offset: 1px;
}

html body.questions-page .questions-keyword-control > i {
    font-size: 15px;
    text-align: center;
}

html body.questions-page .questions-container #questionsSearch#questionsSearch {
    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ds-t-ink) !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
}

html body.questions-page .questions-container #questionsSearch#questionsSearch:focus {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

html body.questions-page .questions-container #difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter {
    width: 170px !important;
    min-width: 170px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 38px 0 14px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
}

html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn {
    display: inline-flex !important;
    width: auto !important;
    min-width: 148px !important;
    max-width: 240px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 17px !important;
    border: 1px solid var(--ds-t-hairline) !important;
    border-radius: 8px !important;
    gap: 9px !important;
    background: var(--ds-t-surface) !important;
    color: var(--ds-t-ink) !important;
    font-size: 14px !important;
    font-weight: 620 !important;
    line-height: 1.2 !important;
    white-space: nowrap;
}

html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

html body.questions-page .questions-container #uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn {
    display: inline-grid !important;
    place-items: center !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    corner-shape: round !important;
    box-shadow: none !important;
    transform: none !important;
    flex: 0 0 44px !important;
}

html body.questions-page .questions-container #uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn:is(:hover, :active) {
    box-shadow: none !important;
    transform: none !important;
}

html body.questions-page .questions-container #uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn:focus-visible {
    box-shadow: none !important;
    outline: 2px solid color-mix(in srgb, var(--ds-t-primary) 72%, transparent) !important;
    outline-offset: 3px !important;
}

html body.questions-page .questions-container #uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn > i {
    font-size: 16px !important;
    line-height: 1 !important;
}

html body.questions-page .questions-container #uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn#uploadQuestionBtn[hidden] {
    display: none !important;
}

html body.questions-page .question-tag-search-summary {
    min-width: 0;
    min-height: 30px;
}

html body.questions-page .questions-selected-empty {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    color: color-mix(in srgb, var(--ds-t-ink) 45%, transparent);
    font-size: 14px;
    line-height: 1.5;
}

html body.questions-page .question-tag-search-summary__row {
    min-height: 30px;
}

html body.questions-page .question-tag-search-summary__chips {
    align-items: center !important;
    gap: 8px !important;
}

html body.questions-page .question-tag-search-summary :is(.question-tag-inline, .questions-selected-category) {
    min-height: var(--ds-tag-height, 32px) !important;
    padding: 0 var(--ds-tag-padding-inline, 9px) !important;
    border-radius: var(--ds-tag-radius, 4px) !important;
    font-size: var(--ds-tag-font-size, 13px) !important;
    line-height: 1.2 !important;
}

html body.questions-page .questions-filter-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--ds-t-hairline-soft);
}

html body.questions-page .questions-result-count {
    margin: 0;
    color: color-mix(in srgb, var(--ds-t-ink) 62%, transparent);
    font-size: 15px;
    line-height: 1.4;
}

html body.questions-page .questions-result-count strong {
    margin-inline: 4px;
    color: var(--ds-t-ink);
    font-size: 20px;
    font-weight: 680;
    font-variant-numeric: tabular-nums;
}

html body.questions-page #clearQuestionsFilters#clearQuestionsFilters#clearQuestionsFilters {
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 0 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--ds-t-ink) !important;
    font-size: 14px !important;
    font-weight: 620 !important;
    line-height: 1.2 !important;
    text-decoration: underline;
    text-underline-offset: 4px;
    box-shadow: none !important;
}

html body.questions-page .questions-list-panel {
    overflow: hidden;
}

html body.questions-page .questions-table-header,
html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
    display: grid !important;
    grid-template-columns: 28px 92px minmax(240px, 1fr) minmax(210px, 320px) 96px !important;
    align-items: center !important;
    column-gap: 18px !important;
    min-width: 0 !important;
}

html body.questions-page .questions-table-header {
    min-height: 58px;
    margin: 0 !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ds-t-hairline) !important;
    background: var(--ds-t-canvas);
}

html body.questions-page .questions-table-header__cell {
    opacity: 0.62 !important;
    color: var(--ds-t-ink) !important;
    font-family: var(--ds-font) !important;
    font-size: 13px !important;
    font-weight: 620 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    white-space: nowrap;
}

html body.questions-page .questions-table-header__difficulty {
    text-align: right !important;
}

html body.questions-page #questionsGrid#questionsGrid {
    display: grid !important;
    gap: 0 !important;
    min-height: 0;
    padding: 0 !important;
}

html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
    min-height: 70px !important;
    padding: 13px 24px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ds-t-hairline-soft) !important;
    border-radius: 0 !important;
    background: var(--ds-t-surface) !important;
    box-shadow: none !important;
}

html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row:last-child {
    border-bottom: 0 !important;
}

html body.questions-page #questionsGrid .question-row-status {
    justify-self: center;
}

html body.questions-page #questionsGrid .question-row-problem-link {
    display: block;
    min-width: 0;
    color: color-mix(in srgb, var(--ds-t-ink) 68%, transparent);
    font-size: 14px;
    font-weight: 620;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
}

html body.questions-page #questionsGrid .question-problem-no.question-problem-no {
    color: inherit !important;
    font-family: var(--ds-font-mono) !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: 0 !important;
}

html body.questions-page #questionsGrid .question-row-title-module.question-row-title-module {
    display: block !important;
    min-width: 0 !important;
    color: var(--ds-t-ink);
    line-height: 1.5;
    text-decoration: none;
}

html body.questions-page #questionsGrid .question-title-text.question-title-text {
    display: -webkit-box !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: var(--ds-t-ink) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

html body.questions-page #questionsGrid .question-row-tags.question-row-tags {
    display: flex !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    min-width: 0 !important;
    max-height: 50px;
    overflow: hidden !important;
}

html body.questions-page #questionsGrid .question-row-tags :is(.category-tag, .question-topic-tag) {
    display: inline-flex !important;
    max-width: min(100%, 112px) !important;
    min-height: var(--ds-tag-height, 32px) !important;
    padding: 0 var(--ds-tag-padding-inline, 9px) !important;
    border-radius: var(--ds-tag-radius, 4px) !important;
    font-size: var(--ds-tag-font-size, 13px) !important;
    overflow: hidden;
    border: 1px solid var(--ds-t-hairline) !important;
    border-radius: var(--ds-tag-radius, 4px) !important;
    background: color-mix(in srgb, var(--ds-t-ink) 4%, var(--ds-t-surface)) !important;
    color: color-mix(in srgb, var(--ds-t-ink) 70%, transparent) !important;
    font-family: var(--ds-font) !important;
    font-size: var(--ds-tag-font-size, 13px) !important;
    font-weight: 560 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-overflow: ellipsis;
    white-space: nowrap !important;
    opacity: 1;
}

html body.questions-page #questionsGrid .question-row-difficulty-cell {
    min-width: 0;
}

html body.questions-page #questionsGrid .question-difficulty.question-difficulty {
    display: inline-flex;
    min-height: var(--ds-tag-height, 32px) !important;
    padding: 0 var(--ds-tag-padding-inline, 9px) !important;
    border-radius: var(--ds-tag-radius, 4px) !important;
    font-size: var(--ds-tag-font-size, 13px) !important;
    font-family: var(--ds-font) !important;
    font-size: var(--ds-tag-font-size, 13px) !important;
    font-weight: 620 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
}

html body.questions-page #questionsGrid[data-page-skeleton="questions"] .page-skeleton__block {
    border-radius: 4px;
}

html body.questions-page #questionsGrid[data-page-skeleton="questions"] .page-skeleton__block--title {
    width: min(72%, 320px);
    height: 16px;
}

html body.questions-page #questionsGrid > .page-state {
    min-height: 280px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

html body.questions-page .questions-pagination {
    margin: 0;
    padding: 22px 20px;
    border-top: 1px solid var(--ds-t-hairline-soft);
}

@media (max-width: 980px) {
    html body.questions-page .questions-container .search-box {
        grid-template-columns: minmax(220px, 1fr) 160px !important;
    }

    html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn {
        grid-column: 1 / -1;
        justify-self: start;
    }

    html body.questions-page .questions-table-header,
    html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
        grid-template-columns: 28px 84px minmax(220px, 1fr) 86px !important;
    }

    html body.questions-page .questions-table-header__tags,
    html body.questions-page #questionsGrid .question-row-tags {
        display: none !important;
    }
}

@media (max-width: 640px) {
    html body.questions-page .main-container.main-container {
        padding-block: 24px 56px !important;
    }

    html body.questions-page .questions-container.questions-container {
        width: min(100% - 24px, 1280px) !important;
        gap: 16px;
    }

    html body.questions-page .questions-filter-panel {
        gap: 20px;
        padding: 20px;
    }

    html body.questions-page .questions-page-heading h1 {
        font-size: 26px !important;
    }

    html body.questions-page :is(.questions-filter-row, .questions-selected-row) {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    html body.questions-page .questions-container .search-box {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 10px !important;
    }

    html body.questions-page .questions-keyword-control {
        grid-column: 1 / -1;
    }

    html body.questions-page .questions-container #difficultyFilter#difficultyFilter {
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn {
        grid-column: auto;
        justify-self: stretch;
        min-width: 0 !important;
        max-width: none !important;
    }

    html body.questions-page .questions-filter-footer {
        gap: 12px;
        padding-top: 16px;
    }

    html body.questions-page .questions-result-count {
        font-size: 14px;
    }

    html body.questions-page .questions-result-count strong {
        font-size: 18px;
    }

    html body.questions-page .questions-table-header,
    html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
        grid-template-columns: 22px 72px minmax(0, 1fr) !important;
        column-gap: 10px !important;
    }

    html body.questions-page .questions-table-header {
        min-height: 52px;
        padding-inline: 16px !important;
    }

    html body.questions-page .questions-table-header > :nth-child(4),
    html body.questions-page .questions-table-header > :nth-child(5) {
        display: none !important;
    }

    html body.questions-page #questionsGrid#questionsGrid {
        min-height: 0 !important;
    }

    html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
        align-items: center !important;
        min-height: 124px !important;
        padding: 16px !important;
        row-gap: 8px !important;
    }

    html body.questions-page #questionsGrid .question-row-status {
        grid-column: 1;
        grid-row: 1;
    }

    html body.questions-page #questionsGrid .question-row-problem-link {
        grid-column: 2;
        grid-row: 1;
    }

    html body.questions-page #questionsGrid .question-row-difficulty-cell {
        display: flex !important;
        grid-column: 3;
        grid-row: 1;
        justify-content: flex-end !important;
    }

    html body.questions-page #questionsGrid .question-row-title-module.question-row-title-module {
        grid-column: 2 / 4 !important;
        grid-row: 2;
    }

    html body.questions-page #questionsGrid .question-row-tags.question-row-tags {
        display: flex !important;
        grid-column: 2 / 4;
        grid-row: 3;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        max-height: 27px;
    }

    html body.questions-page #questionsGrid .question-title-text.question-title-text {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    html body.questions-page #questionsGrid[data-page-skeleton="questions"] .page-skeleton__tags {
        display: flex !important;
    }

    html body.questions-page .pagination-controls {
        width: 100%;
    }

    html body.questions-page .pagination-info {
        width: 100%;
        justify-content: center;
        margin: 8px 0 0;
    }
}

@media (max-width: 380px) {
    html body.questions-page .questions-container .search-box {
        grid-template-columns: 1fr !important;
    }

    html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn {
        grid-column: 1;
    }
}

/* Question-bank index desk: dense, scan-first work surface. */
html body.questions-page {
    background: #eef4f8 !important;
    color: #172331 !important;
}

html body.questions-page .main-container.main-container {
    padding-block: 24px 64px !important;
}

html body.questions-page .questions-container.questions-container {
    width: min(100% - 32px, 1360px) !important;
    max-width: 1360px !important;
    gap: 16px !important;
}

html body.questions-page :is(.questions-filter-panel, .questions-list-panel) {
    border: 1px solid #cddbe5 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 0 rgba(35, 76, 105, 0.06) !important;
}

html body.questions-page .questions-filter-panel {
    gap: 14px !important;
    padding: 18px 20px 14px !important;
}

html body.questions-page #questionsPageTitle#questionsPageTitle {
    color: #173b57 !important;
    font-size: 26px !important;
    font-weight: 720 !important;
    line-height: 1.15 !important;
}

html body.questions-page .questions-search-bar {
    gap: 10px !important;
}

html body.questions-page :is(.questions-filter-row, .questions-selected-row) {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 12px !important;
}

html body.questions-page .questions-filter-label {
    color: #536779 !important;
    font-family: var(--ds-font-mono) !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    letter-spacing: 0.08em !important;
}

html body.questions-page .questions-container .search-box {
    grid-template-columns: minmax(240px, 1fr) 150px 150px !important;
    gap: 8px !important;
}

html body.questions-page .questions-keyword-control,
html body.questions-page .questions-container #difficultyFilter#difficultyFilter,
html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn {
    height: 40px !important;
    min-height: 40px !important;
    border: 1px solid #c8d6e1 !important;
    border-radius: 4px !important;
    background: #f8fbfd !important;
}

html body.questions-page .questions-keyword-control {
    padding-inline: 12px !important;
    gap: 8px !important;
}

html body.questions-page .questions-container #questionsSearch#questionsSearch {
    height: 38px !important;
    min-height: 38px !important;
    color: #172331 !important;
    font-size: 14px !important;
}

html body.questions-page .questions-container #difficultyFilter#difficultyFilter {
    width: 150px !important;
    min-width: 150px !important;
    padding-inline: 11px 30px !important;
    color: #294b63 !important;
    font-size: 13px !important;
}

html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn {
    min-width: 150px !important;
    padding-inline: 12px !important;
    border-color: #28769b !important;
    background: #28769b !important;
    color: #ffffff !important;
    font-size: 13px !important;
}

html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn:hover,
html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn:focus-visible {
    background: #1e5f80 !important;
    border-color: #1e5f80 !important;
}

html body.questions-page .questions-filter-footer {
    min-height: 28px !important;
    padding-top: 10px !important;
    border-top: 1px solid #e1e9ee !important;
}

html body.questions-page .questions-result-count {
    color: #647788 !important;
    font-size: 12px !important;
}

html body.questions-page .questions-result-count strong {
    color: #173b57 !important;
    font-size: 17px !important;
}

html body.questions-page .questions-clear-filters {
    color: #28769b !important;
    font-size: 12px !important;
}

html body.questions-page .questions-table-header,
html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
    grid-template-columns: 28px 88px minmax(260px, 1fr) minmax(220px, 320px) 92px !important;
    column-gap: 14px !important;
}

html body.questions-page .questions-table-header {
    min-height: 44px !important;
    padding: 0 18px !important;
    border-bottom: 1px solid #cddbe5 !important;
    background: #f1f6f9 !important;
}

html body.questions-page .questions-table-header__cell {
    color: #526879 !important;
    font-family: var(--ds-font-mono) !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    letter-spacing: 0.06em !important;
}

html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
    min-height: 58px !important;
    padding: 9px 18px !important;
    border-bottom: 1px solid #e5edf1 !important;
    background: #ffffff !important;
    transition: background-color 160ms ease !important;
}

html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row:hover {
    background: #f4fafc !important;
}

html body.questions-page #questionsGrid .question-row-problem-link {
    color: #5d7383 !important;
    font-family: var(--ds-font-mono) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

html body.questions-page #questionsGrid .question-title-text {
    color: #2779ab !important;
    font-size: 14px !important;
    font-weight: 560 !important;
    line-height: 1.35 !important;
}

html body.questions-page #questionsGrid .question-row-title-module:hover .question-title-text,
html body.questions-page #questionsGrid .question-row-title-module:focus-visible .question-title-text {
    color: #174f74 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

html body.questions-page #questionsGrid .question-row-tags.question-row-tags {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    max-height: 50px !important;
}

html body.questions-page #questionsGrid .question-row-difficulty-cell {
    justify-content: flex-end !important;
}

@media (max-width: 800px) {
    html body.questions-page .questions-container.questions-container {
        width: min(100% - 20px, 680px) !important;
    }

    html body.questions-page .questions-filter-panel {
        padding: 16px 14px 12px !important;
    }

    html body.questions-page .questions-container .search-box {
        grid-template-columns: minmax(0, 1fr) 132px !important;
    }

    html body.questions-page .questions-keyword-control {
        grid-column: 1 / -1 !important;
    }

    html body.questions-page .questions-container #difficultyFilter#difficultyFilter,
    html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn {
        width: auto !important;
        min-width: 0 !important;
    }

    html body.questions-page .questions-table-header,
    html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
        grid-template-columns: 24px minmax(72px, auto) minmax(0, 1fr) 78px !important;
        column-gap: 9px !important;
    }

    html body.questions-page .questions-table-header__tags,
    html body.questions-page #questionsGrid .question-row-tags {
        display: none !important;
    }

    html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
        min-height: 64px !important;
        padding: 9px 12px !important;
    }
}

/* Compact question-list pagination. */
html body.questions-page .questions-pagination {
    padding: 12px 14px !important;
}

html body.questions-page .questions-pagination .pagination-controls {
    width: fit-content !important;
    max-width: 100% !important;
    gap: 4px !important;
    padding: 5px !important;
    border-radius: 12px !important;
}

html body.questions-page .questions-pagination .pagination-btn,
html body.questions-page .questions-pagination .pagination-ellipsis {
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding-inline: 7px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) {
    padding-inline: 9px !important;
    gap: 4px !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) i {
    font-size: 10px !important;
}

html body.questions-page .questions-pagination .pagination-info {
    width: auto !important;
    height: 28px !important;
    min-height: 28px !important;
    margin: 0 0 0 6px !important;
    padding-inline: 6px !important;
    font-size: 11px !important;
}

@media (max-width: 560px) {
    html body.questions-page .questions-pagination .pagination-controls {
        width: 100% !important;
    }

    html body.questions-page .questions-pagination .pagination-info {
        width: 100% !important;
        justify-content: center !important;
        margin: 4px 0 0 !important;
    }
}

/* Pagination uses the original circular pill geometry, not G2 corners. */
html body.questions-page .questions-pagination .pagination-controls {
    gap: 5px !important;
    padding: 5px !important;
    overflow: visible !important;
    border: 1px solid #d9d9d6 !important;
    border-radius: 999px !important;
    corner-shape: round !important;
    background: #ffffff !important;
}

html body.questions-page .questions-pagination .pagination-controls::before {
    content: none !important;
    display: none !important;
}

html body.questions-page .questions-pagination :is(
    .pagination-btn,
    .pagination-ellipsis
) {
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding-inline: 9px !important;
    border-radius: 999px !important;
    corner-shape: round !important;
    font-size: 14px !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) {
    padding-inline: 13px !important;
    gap: 6px !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) i {
    font-size: 12px !important;
}

/* Refined monochrome pagination: one strong active state, quiet navigation. */
html body.questions-page .questions-pagination .pagination-controls {
    gap: 2px !important;
    padding: 4px !important;
    border-color: #ddddda !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.questions-page .questions-pagination .pagination-btn {
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #333330 !important;
    font-size: 13px !important;
    font-weight: 520 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color 150ms ease, color 150ms ease !important;
}

html body.questions-page .questions-pagination .pagination-btn:not(:disabled):not(.pagination-btn-active):hover,
html body.questions-page .questions-pagination .pagination-btn:not(:disabled):not(.pagination-btn-active):focus-visible {
    background: #f1f1ee !important;
    color: #000000 !important;
}

html body.questions-page .questions-pagination .pagination-btn-active,
html body.questions-page .questions-pagination .pagination-btn-active:hover,
html body.questions-page .questions-pagination .pagination-btn-active:focus-visible {
    background: #171717 !important;
    color: #ffffff !important;
    font-weight: 650 !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) {
    width: auto !important;
    min-width: 0 !important;
    padding-inline: 11px !important;
    gap: 5px !important;
    background: #f4f4f1 !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next):disabled {
    background: transparent !important;
    color: #a3a3a0 !important;
    opacity: 1 !important;
}

html body.questions-page .questions-pagination .pagination-info {
    height: 34px !important;
    min-height: 34px !important;
    margin-left: 6px !important;
    padding: 0 10px !important;
    border-left: 1px solid #e5e5e2 !important;
    color: #5b5b57 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

/* Final compact premium treatment. */
html body.questions-page .questions-pagination {
    padding-block: 9px !important;
}

html body.questions-page .questions-pagination .pagination-controls {
    gap: 1px !important;
    padding: 3px !important;
    border-color: #e4e4e1 !important;
}

html body.questions-page .questions-pagination .pagination-btn {
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

html body.questions-page .questions-pagination .pagination-btn-active {
    background: #111111 !important;
    font-weight: 620 !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) {
    padding-inline: 9px !important;
    gap: 4px !important;
    background: transparent !important;
    color: #353532 !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next):not(:disabled):hover,
html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next):not(:disabled):focus-visible {
    background: #f2f2ef !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) i {
    font-size: 9px !important;
}

html body.questions-page .questions-pagination .pagination-info {
    height: 30px !important;
    min-height: 30px !important;
    margin-left: 4px !important;
    padding-inline: 8px !important;
    border-left-color: #e8e8e5 !important;
    color: #686864 !important;
    font-size: 11px !important;
}

html body.questions-page .questions-pagination .pagination-info {
    height: 36px !important;
    min-height: 36px !important;
    margin-left: 6px !important;
    padding-inline: 7px !important;
    font-size: 12px !important;
}

/* Pagination is a compact typographic index, not a second toolbar. */
html body.questions-page .questions-pagination {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 10px 14px 11px !important;
}

html body.questions-page .questions-pagination .pagination-controls {
    position: static !important;
    isolation: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    height: 32px !important;
    gap: 0 !important;
    padding: 2px !important;
    overflow: visible !important;
    border: 1px solid #d8d8d4 !important;
    border-radius: 999px !important;
    corner-shape: round !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.questions-page .questions-pagination .pagination-controls::before {
    content: none !important;
    display: none !important;
}

html body.questions-page .questions-pagination .pagination-controls > * {
    position: static !important;
    z-index: auto !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn, .pagination-ellipsis) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 26px !important;
    width: auto !important;
    height: 26px !important;
    min-height: 26px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    border: 0 !important;
    border-radius: 999px !important;
    corner-shape: round !important;
    background: transparent !important;
    color: #5f5f5a !important;
    font-size: 11px !important;
    font-variant-numeric: tabular-nums;
    font-weight: 540 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color 120ms ease, color 120ms ease !important;
}

html body.questions-page .questions-pagination .pagination-btn:not(:disabled):not(.pagination-btn-active):hover {
    background: #f1f1ee !important;
    color: #111111 !important;
}

html body.questions-page .questions-pagination .pagination-btn:focus-visible {
    outline: 2px solid #111111 !important;
    outline-offset: 2px !important;
}

html body.questions-page .questions-pagination .pagination-btn-active,
html body.questions-page .questions-pagination .pagination-btn-active:is(:hover, :focus-visible) {
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin-inline: 1px !important;
    padding-inline: 5px !important;
    background: #111111 !important;
    color: #ffffff !important;
    font-weight: 680 !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) {
    min-width: 27px !important;
    width: 27px !important;
    padding: 0 !important;
    color: #20201e !important;
}

html body.questions-page .questions-pagination .pagination-btn-prev {
    margin-right: 2px !important;
}

html body.questions-page .questions-pagination .pagination-btn-next {
    margin-left: 2px !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) i {
    font-size: 8px !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next):disabled {
    background: transparent !important;
    color: #b7b7b2 !important;
    opacity: 1 !important;
}

html body.questions-page .questions-pagination .pagination-ellipsis {
    min-width: 16px !important;
    padding: 0 2px !important;
    color: #9a9a95 !important;
}

html body.questions-page .questions-pagination .pagination-info {
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #8a8a85 !important;
    font-size: 10px !important;
    font-variant-numeric: tabular-nums;
    font-weight: 500 !important;
    line-height: 1 !important;
    white-space: nowrap;
}

html body.questions-page .questions-pagination .pagination-info strong {
    color: #333330;
    font-size: 11px;
    font-weight: 650;
}

@media (max-width: 560px) {
    html body.questions-page .questions-pagination {
        flex-wrap: wrap !important;
        gap: 7px !important;
        padding-inline: 10px !important;
    }

    html body.questions-page .questions-pagination .pagination-controls {
        width: auto !important;
    }

    html body.questions-page .questions-pagination .pagination-info {
        width: auto !important;
        margin: 0 !important;
    }

    html body.questions-page .questions-pagination .pagination-info-total {
        display: none;
    }
}

/* Keep page numbers on one baseline; the active page is text-only. */
html body.questions-page .questions-pagination :is(.pagination-btn, .pagination-ellipsis) {
    box-sizing: border-box !important;
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 !important;
    line-height: 26px !important;
    vertical-align: middle !important;
}

html body.questions-page .questions-pagination .pagination-btn-active,
html body.questions-page .questions-pagination .pagination-btn-active:is(:hover, :focus-visible) {
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111111 !important;
    font-weight: 720 !important;
    box-shadow: inset 0 -1px 0 #111111 !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) {
    width: 27px !important;
    min-width: 27px !important;
    height: 26px !important;
    min-height: 26px !important;
    line-height: 26px !important;
}

/* Keep page numbers on one typographic baseline; selection is weight only. */
html body.questions-page .questions-pagination .pagination-controls {
    align-items: center !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn, .pagination-ellipsis) {
    vertical-align: middle !important;
}

html body.questions-page .questions-pagination .pagination-btn-active,
html body.questions-page .questions-pagination .pagination-btn-active:is(:hover, :focus-visible) {
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    margin-inline: 0 !important;
    padding-inline: 6px !important;
    background: transparent !important;
    color: #111111 !important;
    font-weight: 720 !important;
}

/* Draw the outer pagination ring as two concentric G2 fills. Native border
 * rasterization can introduce a visible seam where the long edge meets the
 * high-radius corner. */
html body.questions-page .questions-pagination .pagination-controls {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 999px !important;
    corner-shape: squircle !important;
    corner-shape: superellipse(2) !important;
    background: #d9d9d6 !important;
}

html body.questions-page .questions-pagination .pagination-controls::before {
    position: absolute !important;
    z-index: 0 !important;
    inset: 1px !important;
    border-radius: 999px !important;
    corner-shape: squircle !important;
    corner-shape: superellipse(2) !important;
    background: #ffffff !important;
    content: "" !important;
    pointer-events: none !important;
}

html body.questions-page .questions-pagination .pagination-controls > * {
    position: relative !important;
    z-index: 1 !important;
}

/* Use the actual half-height radius instead of a clamped 999px radius. The
 * rendered silhouette stays pill-shaped, while superellipse curvature can
 * meet the straight edge without the clamping kink shown in the screenshot. */
html body.questions-page .questions-pagination .pagination-controls {
    border-radius: 28px !important;
}

html body.questions-page .questions-pagination .pagination-controls::before {
    border-radius: 27px !important;
}

@media (max-width: 560px) {
    html body.questions-page .questions-pagination .pagination-controls {
        border-radius: 24px !important;
    }

    html body.questions-page .questions-pagination .pagination-controls::before {
        border-radius: 23px !important;
    }
}

@media (max-width: 560px) {
    html body.questions-page #questionsPageTitle#questionsPageTitle {
        font-size: 23px !important;
    }

    html body.questions-page :is(.questions-filter-row, .questions-selected-row) {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    html body.questions-page .questions-table-header {
        display: none !important;
    }

    html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
        grid-template-columns: 22px minmax(64px, auto) minmax(0, 1fr) !important;
    }

    html body.questions-page #questionsGrid .question-row-difficulty-cell {
        grid-column: 3 !important;
        justify-content: flex-start !important;
        padding-top: 2px !important;
    }
}

/* Classic black-and-white chrome; semantic question/difficulty tags keep
 * their explicit colors above. */
html body.questions-page {
    background: #f7f7f5 !important;
    color: #111111 !important;
}

html body.questions-page :is(.questions-filter-panel, .questions-list-panel) {
    border-color: #d9d9d6 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.questions-page #questionsPageTitle#questionsPageTitle,
html body.questions-page .questions-result-count strong {
    color: #111111 !important;
}

html body.questions-page .questions-filter-label,
html body.questions-page .questions-table-header__cell,
html body.questions-page .questions-result-count,
html body.questions-page .questions-clear-filters {
    color: #4d4d4a !important;
}

html body.questions-page .questions-keyword-control,
html body.questions-page .questions-container #difficultyFilter#difficultyFilter,
html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn {
    border-color: #bdbdb9 !important;
    background: #ffffff !important;
    color: #111111 !important;
}

html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn {
    border-color: #111111 !important;
    background: #111111 !important;
    color: #ffffff !important;
}

html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn:hover,
html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn:focus-visible {
    border-color: #333333 !important;
    background: #333333 !important;
}

html body.questions-page .questions-filter-footer {
    border-top-color: #e2e2df !important;
}

html body.questions-page .questions-table-header {
    border-bottom-color: #cfcfcb !important;
    background: #fafaf8 !important;
}

html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
    border-bottom-color: #e7e7e3 !important;
    background: #ffffff !important;
}

html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row:hover {
    background: #f5f5f2 !important;
}

html body.questions-page #questionsGrid .question-row-problem-link,
html body.questions-page #questionsGrid .question-title-text,
html body.questions-page #questionsGrid .question-row-title-module:hover .question-title-text,
html body.questions-page #questionsGrid .question-row-title-module:focus-visible .question-title-text {
    color: #111111 !important;
}

/* Match the shared page geometry: rounded outer cards and medium controls,
 * while keeping dense table rows square. */
html body.questions-page :is(.questions-filter-panel, .questions-list-panel) {
    border-radius: var(--ds-rounded-lg, 24px) !important;
}

html body.questions-page .questions-keyword-control,
html body.questions-page .questions-container #difficultyFilter#difficultyFilter,
html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn {
    border-radius: var(--ds-rounded-md, 8px) !important;
}

html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row,
html body.questions-page .questions-table-header {
    border-radius: 0 !important;
}

/* Keep the taxonomy heading and every tag group on the same left edge. */
html body.questions-page .questions-table-header__tags {
    grid-column: 4 !important;
    justify-self: stretch !important;
    text-align: left !important;
}

/* G2 continuous corners for every rounded control on the question bank. */
html body.questions-page :is(
    .questions-filter-panel,
    .questions-list-panel,
    .questions-keyword-control,
    #difficultyFilter,
    #questionFilterBtn,
    #uploadQuestionBtn,
    .question-tag,
    .category-tag,
    .question-topic-tag,
    .question-tag-inline,
    .question-tag-chip,
    .question-tag-choice,
    .question-difficulty,
    .difficulty-tag
) {
    corner-shape: squircle !important;
    corner-shape: superellipse(2) !important;
}

/* Paint the two large G2 frames as concentric fills. A native 1px border can
 * expose a raster seam where a long edge joins a superellipse corner. */
html body.questions-page .questions-container.questions-container > :is(
    .questions-filter-panel,
    .questions-list-panel
) {
    border: 1px solid transparent !important;
    border-radius: var(--ds-rounded-lg, 24px) !important;
    corner-shape: squircle !important;
    corner-shape: superellipse(2) !important;
    border-bottom-right-radius: var(--ds-rounded-lg, 24px) !important;
    corner-bottom-right-shape: superellipse(2) !important;
    overflow: clip !important;
    background:
        linear-gradient(#ffffff 0 0) padding-box,
        linear-gradient(#d9d9d6 0 0) border-box !important;
    background-repeat: no-repeat !important;
    box-shadow: none !important;
}

/* Restore the roomier pagination geometry from the reference. */
html body.questions-page .questions-pagination .pagination-controls {
    gap: 6px !important;
    padding: 6px !important;
    border-radius: 999px !important;
}

html body.questions-page .questions-pagination :is(
    .pagination-btn,
    .pagination-ellipsis
) {
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding-inline: 12px !important;
    border-radius: 999px !important;
    font-size: 16px !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) {
    padding-inline: 18px !important;
    gap: 8px !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) i {
    font-size: 14px !important;
}

html body.questions-page .questions-pagination .pagination-info {
    height: 44px !important;
    min-height: 44px !important;
    margin-left: 8px !important;
    padding-inline: 10px !important;
    font-size: 14px !important;
}

@media (max-width: 560px) {
    html body.questions-page .questions-pagination :is(
        .pagination-btn,
        .pagination-ellipsis
    ) {
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        padding-inline: 8px !important;
        font-size: 13px !important;
    }

    html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) {
        padding-inline: 11px !important;
    }

    html body.questions-page .questions-pagination .pagination-info {
        height: 36px !important;
        min-height: 36px !important;
        font-size: 12px !important;
    }
}

/* Concentric pill geometry for the compact pagination cluster. */
html body.questions-page .questions-pagination .pagination-controls {
    padding: 5px !important;
    border-radius: 999px !important;
}

html body.questions-page .questions-pagination :is(
    .pagination-btn,
    .pagination-btn-prev,
    .pagination-btn-next,
    .pagination-ellipsis
) {
    border-radius: 999px !important;
}

/* Keep row surfaces neutral; only the title link may darken on interaction. */
html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row:is(:hover, :focus-within, :active),
html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row.selected,
html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row.is-selected {
    background: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.questions-page #questionsGrid .question-row-problem-link,
html body.questions-page #questionsGrid .question-row-problem-link .question-problem-no {
    font-size: 14px !important;
    font-weight: 560 !important;
    line-height: 1.35 !important;
}

html body.questions-page #questionsGrid .question-row-title-module,
html body.questions-page #questionsGrid .question-row-title-module .question-title-text,
html body.questions-page #questionsGrid .question-row-title-module:hover .question-title-text,
html body.questions-page #questionsGrid .question-row-title-module:focus-visible .question-title-text {
    text-decoration: none !important;
}

html body.questions-page #questionsGrid .question-row-title-module .question-title-text {
    color: #3b3b38 !important;
    transition: color 150ms ease !important;
}

html body.questions-page #questionsGrid .question-row-title-module:is(:hover, :focus-visible, :active) .question-title-text {
    color: #000000 !important;
}

html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
    min-height: 50px !important;
    padding-block: 6px !important;
}

@media (max-width: 800px) {
    html body.questions-page #questionsGrid#questionsGrid > .question-row.question-row {
        min-height: 56px !important;
        padding-block: 7px !important;
    }
}

html body.questions-page #questionsGrid .question-row-tags.question-row-tags {
    grid-column: 4 !important;
    justify-self: stretch !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

/* Final pagination geometry: aligned text index, without filled page pills. */
/* The repeated ID is intentional: shared button rules use several :not()
 * selectors with !important, so the page-local pagination contract must win
 * without changing buttons on other pages. */
html body.questions-page #questionsPagination#questionsPagination .pagination-btn,
html body.questions-page #questionsPagination#questionsPagination .pagination-btn:hover,
html body.questions-page #questionsPagination#questionsPagination .pagination-btn:active,
html body.questions-page #questionsPagination#questionsPagination .pagination-btn:disabled {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #5f5f5a !important;
    font-size: 11px !important;
    font-weight: 540 !important;
    line-height: 26px !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.questions-page #questionsPagination#questionsPagination .pagination-btn-active,
html body.questions-page #questionsPagination#questionsPagination .pagination-btn-active:hover,
html body.questions-page #questionsPagination#questionsPagination .pagination-btn-active:active,
html body.questions-page #questionsPagination#questionsPagination .pagination-btn-active:focus-visible {
    border-radius: 0 !important;
    background: transparent !important;
    color: #111111 !important;
    font-weight: 720 !important;
    box-shadow: inset 0 -1px 0 #111111 !important;
}

html body.questions-page #questionsPagination#questionsPagination :is(.pagination-btn-prev, .pagination-btn-next),
html body.questions-page #questionsPagination#questionsPagination :is(.pagination-btn-prev, .pagination-btn-next):hover,
html body.questions-page #questionsPagination#questionsPagination :is(.pagination-btn-prev, .pagination-btn-next):disabled {
    width: 27px !important;
    min-width: 27px !important;
    background: transparent !important;
    color: #20201e !important;
}

html body.questions-page #questionsPagination#questionsPagination :is(.pagination-btn-prev, .pagination-btn-next):disabled {
    color: #b7b7b2 !important;
    opacity: 1 !important;
}

html body.questions-page .questions-pagination {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 10px 14px 11px !important;
}

html body.questions-page .questions-pagination .pagination-controls {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    height: 32px !important;
    gap: 0 !important;
    padding: 2px !important;
    overflow: visible !important;
    border: 1px solid #d8d8d4 !important;
    border-radius: 999px !important;
    corner-shape: round !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.questions-page .questions-pagination .pagination-controls::before {
    content: none !important;
    display: none !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn, .pagination-ellipsis) {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    corner-shape: round !important;
    background: transparent !important;
    color: #5f5f5a !important;
    font-size: 11px !important;
    font-variant-numeric: tabular-nums;
    font-weight: 540 !important;
    line-height: 26px !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.questions-page .questions-pagination .pagination-btn:not(:disabled):not(.pagination-btn-active):hover {
    background: #f1f1ee !important;
    color: #111111 !important;
}

html body.questions-page .questions-pagination .pagination-btn:focus-visible {
    outline: 2px solid #111111 !important;
    outline-offset: 2px !important;
}

html body.questions-page .questions-pagination .pagination-btn-active,
html body.questions-page .questions-pagination .pagination-btn-active:is(:hover, :focus-visible) {
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111111 !important;
    font-weight: 720 !important;
    box-shadow: inset 0 -1px 0 #111111 !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) {
    width: 27px !important;
    min-width: 27px !important;
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 !important;
    color: #20201e !important;
    line-height: 26px !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next) i {
    font-size: 8px !important;
}

html body.questions-page .questions-pagination :is(.pagination-btn-prev, .pagination-btn-next):disabled {
    background: transparent !important;
    color: #b7b7b2 !important;
    opacity: 1 !important;
}

html body.questions-page .questions-pagination .pagination-ellipsis {
    width: 16px !important;
    min-width: 16px !important;
    color: #9a9a95 !important;
}

html body.questions-page .questions-pagination .pagination-info {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 4px !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #8a8a85 !important;
    font-size: 10px !important;
    font-variant-numeric: tabular-nums;
    line-height: 1 !important;
    white-space: nowrap;
}

html body.questions-page .questions-pagination .pagination-info strong {
    color: #333330 !important;
    font-size: 11px !important;
    font-weight: 650 !important;
}

@media (max-width: 560px) {
    html body.questions-page .questions-pagination {
        flex-wrap: wrap !important;
        gap: 7px !important;
        padding-inline: 10px !important;
    }

    html body.questions-page .questions-pagination .pagination-info-total {
        display: none !important;
    }
}

/* Reference lock for taxonomy chips in the table. Geometry stays stable while
 * each fine-grained tag keeps the tone owned by its subject category. */
html body.questions-page #questionsGrid#questionsGrid#questionsGrid#questionsGrid .question-row-tags :is(
    .category-tag,
    .question-topic-tag
) {
    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;
    padding: 0 7px !important;
    border: 0 !important;
    border-radius: 2px !important;
    corner-shape: superellipse(2) !important;
    background: var(--tag-tone-bg, #7d8aa3) !important;
    background-color: var(--tag-tone-bg, #7d8aa3) !important;
    color: var(--tag-tone-text, #ffffff) !important;
    font-family: var(--ds-font) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 23px !important;
}

/* Filter-control alignment lock. The search field is one control: the icon
 * belongs to the outer label and the native input must not paint a second
 * border or radius inside it. */
html body.questions-page .questions-container .search-box.search-box {
    align-items: center !important;
}

html body.questions-page .questions-keyword-control.questions-keyword-control,
html body.questions-page .questions-container #difficultyFilter#difficultyFilter,
html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn {
    box-sizing: border-box !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
}

html body.questions-page .questions-keyword-control.questions-keyword-control {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 0 12px !important;
    border: 1px solid transparent !important;
    border-radius: var(--ds-ui-control-radius, 8px) !important;
    corner-shape: superellipse(2) !important;
    background:
        linear-gradient(#ffffff 0 0) padding-box,
        linear-gradient(#bdbdb9 0 0) border-box !important;
}

html body.questions-page .questions-container #difficultyFilter#difficultyFilter {
    border: 1px solid transparent !important;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M3.75 6.75 9 12l5.25-5.25' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
        linear-gradient(#ffffff 0 0),
        linear-gradient(#bdbdb9 0 0) !important;
    background-position: right 12px center, 0 0, 0 0 !important;
    background-size: 16px 16px, auto, auto !important;
    background-repeat: no-repeat, no-repeat, no-repeat !important;
    background-origin: padding-box, padding-box, border-box !important;
    background-clip: padding-box, padding-box, border-box !important;
}

html body.questions-page .questions-keyword-control.questions-keyword-control:focus-within,
html body.questions-page .questions-container #difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter:is(:focus, :focus-visible) {
    border-color: transparent !important;
    outline: 0 !important;
}

html body.questions-page .questions-keyword-control.questions-keyword-control:focus-within {
    background:
        linear-gradient(#ffffff 0 0) padding-box,
        linear-gradient(#111111 0 0) border-box !important;
}

html body.questions-page .questions-container #difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter:is(:focus, :focus-visible) {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M3.75 6.75 9 12l5.25-5.25' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
        linear-gradient(#ffffff 0 0),
        linear-gradient(#111111 0 0) !important;
}

html body.questions-page .questions-keyword-control.questions-keyword-control > i {
    display: grid !important;
    place-items: center !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    color: #111111 !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

html body.questions-page .questions-container #questionsSearch#questionsSearch#questionsSearch#questionsSearch {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    corner-shape: round !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #111111 !important;
    font-size: 14px !important;
    line-height: 38px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

html body.questions-page .questions-container #questionsSearch#questionsSearch#questionsSearch#questionsSearch:is(:focus, :focus-visible) {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Search and difficulty are a matched pair: full-round shells keep their
 * internal icon/text spacing centered instead of simply rounding the edges. */
html body.questions-page .questions-keyword-control.questions-keyword-control {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 0 16px !important;
    border-radius: var(--ds-rounded-full, 9999px) !important;
    /* Override the page's G2 squircle default with a standard circular pill. */
    corner-shape: round !important;
    transition: background 180ms ease, color 180ms ease !important;
}

html body.questions-page .questions-keyword-control.questions-keyword-control:has(#questionsSearch#questionsSearch#questionsSearch#questionsSearch) {
    corner-shape: round !important;
}

html body.questions-page .questions-container #difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter {
    padding: 0 44px 0 17px !important;
    border-radius: var(--ds-rounded-full, 9999px) !important;
    corner-shape: round !important;
    background-position: right 16px center, 0 0, 0 0 !important;
    transition: background 180ms ease, color 180ms ease !important;
}

html body.questions-page .questions-keyword-control.questions-keyword-control:focus-within,
html body.questions-page .questions-container #difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter:focus-visible {
    outline: 2px solid color-mix(in srgb, #111111 22%, transparent) !important;
    outline-offset: 2px !important;
}

/* The text filter uses the shared full-round action geometry. */
html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn#questionFilterBtn {
    border-radius: var(--ds-rounded-full, 9999px) !important;
    corner-shape: round !important;
}

/* Final mobile containment lock. This page stylesheet loads after the shared
 * button system, so the 170px legacy select width cannot re-enter the adjacent
 * category track even when an older shared stylesheet is still in memory. */
@media (max-width: 640px) {
    html body.questions-page .questions-container .search-box.search-box.search-box {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 8px !important;
    }

    html body.questions-page .questions-container #difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter,
    html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn#questionFilterBtn#questionFilterBtn#questionFilterBtn#questionFilterBtn {
        box-sizing: border-box !important;
        grid-column: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
    }
}

@media (max-width: 380px) {
    html body.questions-page .questions-container .search-box.search-box.search-box {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.questions-page .questions-container #difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter,
    html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn#questionFilterBtn#questionFilterBtn#questionFilterBtn#questionFilterBtn {
        grid-column: 1 !important;
    }
}

/* Desktop containment lock. The legacy select is 170px wide, so its grid
 * track must not be the 150px track used by the adjacent category action. */
@media (min-width: 981px) {
    html body.questions-page .questions-container .search-box.search-box.search-box {
        grid-template-columns: minmax(240px, 1fr) 170px 150px !important;
        column-gap: 8px !important;
    }

    html body.questions-page .questions-container #difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter#difficultyFilter {
        box-sizing: border-box !important;
        width: 170px !important;
        min-width: 170px !important;
        max-width: 170px !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
    }

    html body.questions-page .questions-container #questionFilterBtn#questionFilterBtn#questionFilterBtn#questionFilterBtn#questionFilterBtn#questionFilterBtn {
        box-sizing: border-box !important;
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
    }
}
