/*!
 * AbhyasPro — Frontend styles v5.1.0 · Blue Light Professional
 * White + Blue light combination · Fully responsive
 * (Elementor + Gutenberg + Classic Editor safe)
 */

/* ═══════════════════════════════════════════════════════════════
 * DESIGN TOKENS — White + Blue Light Professional
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-shell {
    /* Brand blues */
    --abhyaspro-primary:        var(--abhyaspro-primary-global, #2563eb);   /* Blue-600  — primary actions */
    --abhyaspro-primary-dark:   var(--abhyaspro-primary-dark-global, #1d4ed8);   /* Blue-700  — hover state    */
    --abhyaspro-accent:         var(--abhyaspro-accent-global, #3b82f6);   /* Blue-400  — highlights     */
    --abhyaspro-primary-soft:   var(--abhyaspro-primary-soft-global, #eff6ff);   /* Blue-50   — soft wash      */
    --abhyaspro-primary-mid:    var(--abhyaspro-primary-mid-global, #dbeafe);   /* Blue-100  — borders/fills  */

    /* Semantic */
    --abhyaspro-success:  var(--abhyaspro-success-global, #059669);
    --abhyaspro-danger:   var(--abhyaspro-danger-global, #dc2626);
    --abhyaspro-warning:  #d97706;

    /* Surfaces — pure white */
    --abhyaspro-radius:     var(--abhyaspro-radius-global, 14px);
    --abhyaspro-bg:         var(--abhyaspro-page-bg, #ffffff);
    --abhyaspro-surface:    var(--abhyaspro-card-bg, #f5f5f5);
    --abhyaspro-surface-2:  var(--abhyaspro-card-bg, #f5f5f5);   /* Slate-50 — very light neutral */
    --abhyaspro-surface-3:  var(--abhyaspro-card-bg, #f5f5f5);   /* Soft blue tint for highlights */

    /* Text */
    --abhyaspro-text:   var(--abhyaspro-text-global, #172033);   /* Slate-900 — WCAG AAA on white */
    --abhyaspro-text-2: var(--abhyaspro-text-global, #172033);   /* Slate-800 */
    --abhyaspro-muted:  var(--abhyaspro-muted-global, #6b7280);   /* Slate-500 */

    /* Borders */
    --abhyaspro-border:        var(--abhyaspro-card-border-color, #e5e7eb);   /* Slate-200 */
    --abhyaspro-border-strong: var(--abhyaspro-card-border-color, #d1d5db);   /* Slate-300 */
    --abhyaspro-border-blue:   var(--abhyaspro-primary-mid, #bfdbfe);   /* Blue-200  */

    /* Shadows — clean neutral */
    --abhyaspro-shadow-sm: 0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);
    --abhyaspro-shadow-md: var(--abhyaspro-card-shadow, 0 4px 16px rgba(15,23,42,.08), 0 2px 6px rgba(15,23,42,.04));
    --abhyaspro-shadow-lg: var(--abhyaspro-card-shadow, 0 12px 32px rgba(15,23,42,.10), 0 4px 10px rgba(15,23,42,.06));
    --abhyaspro-shadow-blue: 0 4px 16px rgba(37,99,235,.18);

    font-family: var(--abhyaspro-font-family, 'Inter'), ui-sans-serif, system-ui, -apple-system,
                 "Noto Sans Devanagari", "Noto Sans", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--abhyaspro-text);
    background: var(--abhyaspro-page-bg, #ffffff);
    width: 100%; max-width: 100%;
    margin: 0 auto;
    line-height: 1.6;
    box-sizing: border-box;
    container-type: inline-size;
}
.abhyaspro-shell *, .abhyaspro-shell *::before, .abhyaspro-shell *::after { box-sizing: border-box; }
.abhyaspro-shell img { max-width: 100%; height: auto; }
.abhyaspro-shell a   { text-decoration: none; }
.abhyaspro-shell button { font-family: inherit; }


/* ═══════════════════════════════════════════════════════════════
 * PAGE HEADER
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-shell__header { margin: 0 0 22px; }
.abhyaspro-shell__title {
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 800; letter-spacing: -.02em; margin: 0;
    color: var(--abhyaspro-text);
}

/* ═══════════════════════════════════════════════════════════════
 * CARD GRID
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-grid {
    display: grid; gap: 28px;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
}
.abhyaspro-grid--single {
    grid-template-columns: minmax(0, 520px);
    justify-content: center;
}

.abhyaspro-card {
    position: relative;
    background: var(--abhyaspro-card-bg, #f5f5f5);
    border-radius: 17px;
    padding: 0;
    overflow: hidden;
    border: 1px solid #e1e5ea;
    box-shadow: none;
    transition: border-color .18s ease, background .18s ease;
    display: flex; flex-direction: column;
}
.abhyaspro-card--launch-only {
    max-width: 520px;
    margin-inline: auto;
    background: var(--abhyaspro-card-bg, #f5f5f5);
    border-color: var(--abhyaspro-card-border-color, #e5e7eb);
    box-shadow: none;
}
.abhyaspro-card--launch-only:hover { transform: none; border-color: #9bbbe4; }
.abhyaspro-launch-panel {
    padding: 22px 28px 10px;
    background: transparent;
    text-align: center;
}
.abhyaspro-card__icon {
    width: 58px; height: 58px; margin: 28px auto 4px;
    display: flex; align-items: center; justify-content: center;
    color: #18212f;
}
.abhyaspro-card__icon svg {
    display: block; width: 48px; height: 48px; fill: none;
    stroke: currentColor; stroke-width: 2.2; stroke-linecap: round;
    stroke-linejoin: round;
}
.abhyaspro-launch-panel .abhyaspro-card__icon {
    width: 72px; height: 72px; margin: 4px auto 8px;
    color: var(--abhyaspro-primary);
}
.abhyaspro-launch-panel .abhyaspro-card__icon svg { width: 58px; height: 58px; }
.abhyaspro-launch-panel__eyebrow {
    display: block; color: var(--abhyaspro-muted); font-size: 12px;
    font-weight: 700; letter-spacing: .02em; text-transform: none;
    margin: 10px 0 7px;
}
.abhyaspro-launch-panel h2 {
    margin: 0 auto; max-width: 32ch; color: var(--abhyaspro-text);
    font-size: clamp(22px, 4vw, 28px); line-height: 1.22;
    letter-spacing: -.025em;
}
.abhyaspro-launch-panel__stats {
    display: flex; justify-content: center; flex-wrap: wrap; gap: 7px 18px;
    margin-top: 18px;
}
.abhyaspro-launch-panel__stats span {
    padding: 0; border: 0; background: transparent;
    color: var(--abhyaspro-muted); font-size: 12px; font-weight: 600; text-align: center;
}
.abhyaspro-launch-panel__stats strong {
    color: var(--abhyaspro-text-2); font-size: 13px; line-height: 1.1;
    margin-right: 3px;
}
.abhyaspro-card:hover {
    transform: none;
    box-shadow: none;
    border-color: #cbd1d8;
}

.abhyaspro-card__media { aspect-ratio: 16/9; overflow: hidden; background: #f1f5f9; }
.abhyaspro-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ── Logo corner ── */
.abhyaspro-card__logo-corner {
    position: absolute; top: 14px; right: 14px; z-index: 2;
    width: 52px; height: 52px;
    background: #fff;
    border-radius: 14px;
    padding: 5px;
    border: 0;
    box-shadow: none;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
}
.abhyaspro-card__logo-corner img {
    display: block; max-width: 100%; max-height: 100%;
    width: auto; height: auto;
    object-fit: contain;
    border-radius: 0;
    background: transparent !important;
    padding: 0 !important;
}

.abhyaspro-card__body {
    padding: 10px 26px 28px;
    display: flex; flex-direction: column; gap: 12px; flex: 1;
    align-items: center; text-align: center;
}
.abhyaspro-card--launch-only .abhyaspro-card__body {
    padding: 18px clamp(24px, 5vw, 42px) 32px;
    gap: 0;
}
.abhyaspro-card__start--launch { gap: 12px; margin-top: 0; }
.abhyaspro-card__start--launch .abhyaspro-field__input {
    background: #eef4ff; border-color: #c9daf5; min-height: 52px;
}
.abhyaspro-card__start--launch .abhyaspro-btn {
    min-height: 50px; font-size: 15px; letter-spacing: .01em;
}
.abhyaspro-card--no-media .abhyaspro-card__body,
.abhyaspro-card:not(:has(.abhyaspro-card__media)) .abhyaspro-card__body { padding-top: 10px; }
.abhyaspro-card--launch-only .abhyaspro-card__body,
.abhyaspro-card--no-media .abhyaspro-card__body { padding-top: 10px; }

.abhyaspro-card__title {
    width: 100%; font-size: 22px; font-weight: 750; margin: 0;
    letter-spacing: -.01em;
    color: var(--abhyaspro-text);
    padding-right: 0; line-height: 1.28;
}
.abhyaspro-card__desc { max-width: 34ch; margin: 0; color: var(--abhyaspro-muted); font-size: 14px; line-height: 1.55; }

.abhyaspro-card__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.abhyaspro-tag {
    font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
    padding: 4px 10px; border-radius: 999px;
    background: var(--abhyaspro-primary-soft);
    color: var(--abhyaspro-primary);
    border: 1px solid var(--abhyaspro-primary-mid);
}

.abhyaspro-card__meta {
    display: flex; flex-wrap: wrap; gap: 14px;
    color: var(--abhyaspro-text-2); font-size: 13px; font-weight: 600;
    justify-content: center;
}
.abhyaspro-card__meta i { margin-right: 4px; font-style: normal; color: var(--abhyaspro-primary); }

.abhyaspro-card__start { display: flex; flex-direction: column; gap: 12px; margin-top: 6px; width: 100%; max-width: 330px; text-align: left; }

/* ── Form fields ── */
.abhyaspro-field { display: flex; flex-direction: column; gap: 6px; }
.abhyaspro-field__label {
    font-size: 11.5px; font-weight: 700;
    color: var(--abhyaspro-text-2);
    text-transform: uppercase; letter-spacing: .07em;
}
.abhyaspro-field__input {
    width: 100%; padding: 11px 14px;
    border: 1.5px solid var(--abhyaspro-border);
    border-radius: 10px;
    font-size: 15px;
    background: #fff;
    color: var(--abhyaspro-text);
    transition: border-color .18s ease, box-shadow .18s ease;
}
.abhyaspro-field__input::placeholder { color: #94a3b8; }
.abhyaspro-field__input:focus {
    outline: none;
    border-color: var(--abhyaspro-primary);
    box-shadow: 0 0 0 3px rgba(37,99,235,.14);
}

/* ═══════════════════════════════════════════════════════════════
 * BUTTONS
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 11px 22px;
    min-height: 44px;
    border-radius: var(--abhyaspro-button-radius, 8px);
    border: 1.5px solid transparent;
    font-weight: 700; font-size: 14.5px;
    letter-spacing: .01em;
    cursor: pointer;
    transition: transform .15s ease, background .18s ease,
                box-shadow .18s ease, color .18s ease, border-color .18s ease;
    text-decoration: none; white-space: nowrap; line-height: 1.2;
}
.abhyaspro-btn--block { width: 100%; }

/* Primary — outline style (rectangular, blue border + text) */
.abhyaspro-btn--primary {
    background: var(--abhyaspro-primary); color: var(--abhyaspro-button-text, #fff) !important;
    border: 1.5px solid var(--abhyaspro-primary);
    box-shadow: 0 5px 14px rgba(37,99,235,.18);
}
.abhyaspro-btn--primary:hover:not(:disabled) {
    background: var(--abhyaspro-primary-dark);
    border-color: var(--abhyaspro-primary-dark);
    color: var(--abhyaspro-button-text, #fff) !important;
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(37,99,235,.24);
}

/* Accent */
.abhyaspro-btn--accent {
    background: var(--abhyaspro-accent); color: #fff;
    border-color: var(--abhyaspro-accent);
    box-shadow: 0 4px 14px rgba(96,165,250,.25);
}
.abhyaspro-btn--accent:hover:not(:disabled) {
    background: var(--abhyaspro-accent); border-color: var(--abhyaspro-accent); color: var(--abhyaspro-button-text, #fff) !important; transform: translateY(-2px);
}

/* Outline */
.abhyaspro-btn--outline {
    background: #fff; color: var(--abhyaspro-primary-button-text, var(--abhyaspro-button-outline-text, #1d4ed8)) !important;
    border: 1.5px solid var(--abhyaspro-primary);
}
.abhyaspro-btn--outline:hover:not(:disabled) {
    background: var(--abhyaspro-primary-soft); color: var(--abhyaspro-primary-button-hover-text, var(--abhyaspro-button-hover-text, var(--abhyaspro-button-outline-text, #1d4ed8))) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(37,99,235,.12);
}

/* Ghost */
.abhyaspro-btn--ghost {
    background: transparent; color: var(--abhyaspro-text-2);
    border: 1.5px solid var(--abhyaspro-border-strong);
}
.abhyaspro-btn--ghost:hover {
    background: var(--abhyaspro-surface-2); color: var(--abhyaspro-primary);
    border-color: var(--abhyaspro-border-blue);
}

.abhyaspro-btn:disabled { opacity: .45; cursor: not-allowed; transform: none !important; box-shadow: none !important; }
.abhyaspro-btn:focus-visible { outline: 3px solid rgba(37,99,235,.30); outline-offset: 2px; }

/* Explicit screen-level back navigation. The old screen is hidden before
 * the next screen is mounted, so navigation never stacks screens visually. */
.abhyaspro-screen-back {
    display: inline-flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: fit-content;
    padding: 7px 0;
    border: 0;
    background: transparent;
    color: var(--abhyaspro-primary);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.abhyaspro-page-back {
    margin: 0 0 14px;
    align-self: flex-start;
    justify-content: flex-start;
    padding: 6px 0;
}
.abhyaspro-screen-back:hover { color: var(--abhyaspro-primary-dark); text-decoration: underline; }
.abhyaspro-screen-back:focus-visible {
    outline: 3px solid rgba(37,99,235,.25);
    outline-offset: 3px;
    border-radius: 5px;
}
.abhyaspro-launch-panel .abhyaspro-screen-back {
    display: flex;
    margin: -8px auto 6px 0;
    text-align: left;
}

/* ═══════════════════════════════════════════════════════════════
 * QUIZ RUNNER
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-runner { margin-top: 24px; width: 100%; }
.abhyaspro-runner[hidden] { display: none; }

.abhyaspro-run {
    background: var(--abhyaspro-surface);
    border-radius: calc(var(--abhyaspro-radius) + 4px);
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid var(--abhyaspro-border);
    box-shadow: var(--abhyaspro-shadow-md);
}

/* ── Top bar (brand + timer) ── */
.abhyaspro-run__topbar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 14px; margin-bottom: 18px; flex-wrap: wrap;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--abhyaspro-border);
}
.abhyaspro-run__back { flex: 0 0 auto; }
.abhyaspro-run__topbar > .abhyaspro-run__brand { flex: 1 1 auto; min-width: 0; }
.abhyaspro-run__brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.abhyaspro-run__brand-logo {
    width: 46px; height: 46px;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; overflow: hidden;
}
.abhyaspro-run__brand-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.abhyaspro-run__brand-meta { display: flex; flex-direction: column; min-width: 0; }
.abhyaspro-run__brand-meta strong {
    color: var(--abhyaspro-text); font-size: 16px; font-weight: 800; line-height: 1.25;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.abhyaspro-run__brand-meta small { color: var(--abhyaspro-muted); font-size: 12px; margin-top: 2px; }

/* Timer */
.abhyaspro-run__timer {
    background: var(--abhyaspro-primary); color: #fff;
    padding: 8px 16px; border-radius: 999px;
    font-weight: 800; font-size: 14.5px;
    font-feature-settings: "tnum"; font-variant-numeric: tabular-nums;
    display: inline-flex; align-items: center; gap: 7px;
    box-shadow: var(--abhyaspro-shadow-blue);
}
.abhyaspro-run__timer.is-warning {
    background: var(--abhyaspro-danger);
    box-shadow: 0 4px 14px rgba(220,38,38,.28);
    animation: abhyaspro-pulse 1s infinite;
}
@keyframes abhyaspro-pulse { 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.04); } }

/* Progress bar */
.abhyaspro-run__progress { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.abhyaspro-run__progress-track {
    flex: 1; height: 8px;
    background: var(--abhyaspro-surface-2);
    border-radius: 999px; overflow: hidden;
    border: 1px solid var(--abhyaspro-border);
}
.abhyaspro-run__progress-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--abhyaspro-accent), var(--abhyaspro-primary));
    width: 0%; transition: width .35s ease;
    border-radius: 999px;
}
.abhyaspro-run__progress-text {
    font-size: 12.5px; font-weight: 800; color: var(--abhyaspro-muted);
    min-width: 38px; text-align: right;
    font-feature-settings: "tnum";
}

/* ── Question ── */
.abhyaspro-question__meta {
    display: flex;
    justify-content: flex-end;
    margin: -8px 0 12px;
}
.abhyaspro-question__counter {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--abhyaspro-primary-soft);
    border: 1px solid var(--abhyaspro-primary-mid);
    color: var(--abhyaspro-primary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.abhyaspro-question { display: flex; flex-direction: column; gap: 18px; }
.abhyaspro-question__number {
    display: inline-flex; align-items: center; gap: 7px;
    background: var(--abhyaspro-primary-soft);
    color: var(--abhyaspro-primary);
    font-weight: 700; padding: 6px 14px; border-radius: 999px;
    align-self: flex-start;
    font-size: 12px; letter-spacing: .07em; text-transform: uppercase;
    border: 1px solid var(--abhyaspro-primary-mid);
}
.abhyaspro-question__text {
    font-size: clamp(16px, 1.6vw, 20px);
    font-weight: 700; line-height: 1.5;
    color: var(--abhyaspro-text);
}
.abhyaspro-question__image {
    max-width: 100%; border-radius: 10px; margin: 8px 0;
    border: 1px solid var(--abhyaspro-border);
}

/* ── Options ── */
.abhyaspro-options { display: flex; flex-direction: column; gap: 10px; }
.abhyaspro-option {
    display: flex; align-items: center; gap: 14px;
    padding: 13px 18px; border-radius: 12px;
    border: 2px solid var(--abhyaspro-border); background: #fff;
    color: var(--abhyaspro-text);
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, transform .12s ease, box-shadow .15s ease;
    font-size: 15px; line-height: 1.4;
    position: relative;
}
.abhyaspro-option:hover {
    border-color: var(--abhyaspro-border-blue);
    background: var(--abhyaspro-primary-soft);
    transform: translateX(3px);
    box-shadow: 0 2px 10px rgba(37,99,235,.08);
}
.abhyaspro-option.is-selected {
    border-color: var(--abhyaspro-primary);
    background: var(--abhyaspro-primary-soft);
    box-shadow: 0 0 0 3px rgba(37,99,235,.10);
}
.abhyaspro-option input { position: absolute; opacity: 0; pointer-events: none; }
.abhyaspro-option__marker {
    width: 30px; height: 30px; border-radius: 50%;
    border: 2px solid var(--abhyaspro-border-strong);
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 12.5px;
    color: var(--abhyaspro-muted);
    flex-shrink: 0; background: #fff;
    transition: all .15s ease;
}
.abhyaspro-option.is-selected .abhyaspro-option__marker {
    border-color: var(--abhyaspro-primary);
    background: var(--abhyaspro-primary);
    color: #fff;
}

/* ── Nav (prev / next) ── */
.abhyaspro-nav {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center; justify-content: space-between;
    gap: 12px; margin-top: 26px;
    padding-top: 18px; border-top: 1px solid var(--abhyaspro-border);
}
.abhyaspro-nav .abhyaspro-btn { width: 100%; max-width: 210px; min-width: 0; padding: 11px 20px; min-height: 46px; }
#abhyaspro-prev { justify-self: start; }
#abhyaspro-next { justify-self: end; }

/* ═══════════════════════════════════════════════════════════════
 * RESULT SCREEN
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-result {
    background: var(--abhyaspro-surface);
    border-radius: calc(var(--abhyaspro-radius) + 4px);
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid var(--abhyaspro-border);
    box-shadow: var(--abhyaspro-shadow-md);
}
.abhyaspro-result__hero { text-align: center; padding: 8px 0 20px; }
.abhyaspro-result__title {
    font-size: clamp(26px, 4vw, 42px); font-weight: 900; margin: 0;
    letter-spacing: -.02em; color: var(--abhyaspro-primary);
}
.abhyaspro-result__msg {
    display: inline-block; margin: 14px auto 0;
    padding: 8px 20px; border-radius: 999px;
    font-weight: 700; font-size: 14px;
    border: 1.5px solid transparent;
}
.abhyaspro-result__msg--good { background: #d1fae5; color: #065f46; border-color: #a7f3d0; }
.abhyaspro-result__msg--ok   { background: #fef3c7; color: #78350f; border-color: #fde68a; }
.abhyaspro-result__msg--bad  { background: #fee2e2; color: #991b1b; border-color: #fecaca; }

/* Stats grid */
.abhyaspro-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 10px; margin: 22px 0;
}
.abhyaspro-stat {
    background: var(--abhyaspro-surface-2);
    border: 1px solid var(--abhyaspro-border);
    border-radius: 12px; padding: 16px 10px; text-align: center;
}
.abhyaspro-stat--good { background: #ecfdf5; border-color: #a7f3d0; }
.abhyaspro-stat--bad  { background: #fef2f2; border-color: #fecaca; }
.abhyaspro-stat--skip { background: #f8fafc; border-color: #e2e8f0; }
.abhyaspro-stat__value {
    font-size: 28px; font-weight: 900; color: var(--abhyaspro-text);
    font-feature-settings: "tnum"; line-height: 1;
}
.abhyaspro-stat--good .abhyaspro-stat__value { color: var(--abhyaspro-success); }
.abhyaspro-stat--bad  .abhyaspro-stat__value { color: var(--abhyaspro-danger); }
.abhyaspro-stat__label {
    font-size: 11px; color: var(--abhyaspro-muted); font-weight: 700;
    text-transform: uppercase; letter-spacing: .07em; margin-top: 5px;
}

.abhyaspro-result__actions {
    display: flex; flex-wrap: wrap; gap: 10px;
    justify-content: center; align-items: center;
    margin-top: 16px;
}

/* Share button */
.abhyaspro-share-icon {
    width: 46px; height: 46px; border-radius: 50%;
    border: 1.5px solid var(--abhyaspro-border-blue);
    background: #fff; color: var(--abhyaspro-primary);
    display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer; padding: 0;
    transition: all .18s ease;
    box-shadow: 0 2px 8px rgba(37,99,235,.10);
    flex-shrink: 0;
}
.abhyaspro-share-icon:hover {
    background: var(--abhyaspro-primary); color: #fff;
    border-color: var(--abhyaspro-primary);
    transform: translateY(-2px);
    box-shadow: var(--abhyaspro-shadow-blue);
}
.abhyaspro-share-icon svg {
    width: 20px; height: 20px;
    stroke: currentColor; display: block; pointer-events: none;
}

.abhyaspro-share-menu {
    position: absolute; background: #fff;
    border: 1px solid var(--abhyaspro-border); border-radius: 12px;
    padding: 8px; box-shadow: var(--abhyaspro-shadow-lg); z-index: 20;
    min-width: 220px; display: none;
}
.abhyaspro-share-menu.is-open { display: block; }
.abhyaspro-share-menu button, .abhyaspro-share-menu a {
    display: flex; width: 100%; align-items: center; gap: 10px;
    padding: 9px 12px; border-radius: 8px;
    background: none; border: 0; text-align: left;
    color: var(--abhyaspro-text); cursor: pointer; font-size: 14px;
    font-weight: 600; text-decoration: none;
}
.abhyaspro-share-menu button:hover, .abhyaspro-share-menu a:hover {
    background: var(--abhyaspro-primary-soft); color: var(--abhyaspro-primary);
}

/* ═══════════════════════════════════════════════════════════════
 * REVIEW ACCORDION
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-review { margin-top: 32px; }
.abhyaspro-review__header {
    display: flex; align-items: center; justify-content: space-between;
    gap: 14px; flex-wrap: wrap; margin: 0 0 14px;
    padding: 14px 16px; border: 1px solid var(--abhyaspro-border-blue);
    border-radius: 14px; background: var(--abhyaspro-primary-soft);
}
.abhyaspro-review__heading { min-width: 0; flex: 1 1 260px; }
.abhyaspro-review__heading h3 { margin: 0; font-size: 19px; font-weight: 850; color: var(--abhyaspro-text); }
.abhyaspro-review__heading p { margin: 4px 0 0; font-size: 13px; line-height: 1.45; color: var(--abhyaspro-muted); }
.abhyaspro-review__controls { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.abhyaspro-btn--review-pdf { box-shadow: 0 5px 16px rgba(37,99,235,.14); }

.abhyaspro-review__item {
    border: 1px solid var(--abhyaspro-border);
    border-radius: 12px; background: #fff;
    margin-bottom: 8px; overflow: hidden;
    transition: border-color .18s ease;
}
.abhyaspro-review__item:hover { border-color: var(--abhyaspro-border-blue); }
.abhyaspro-review__summary {
    display: flex; align-items: center; gap: 12px;
    padding: 13px 16px; cursor: pointer; user-select: none;
    list-style: none;
}
.abhyaspro-review__summary::-webkit-details-marker { display: none; }
.abhyaspro-review__badge {
    flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 12px;
}
.abhyaspro-review__badge--ok   { background: #d1fae5; color: #065f46; }
.abhyaspro-review__badge--bad  { background: #fee2e2; color: #991b1b; }
.abhyaspro-review__badge--skip { background: #e2e8f0; color: #334155; }
.abhyaspro-review__q { flex: 1; font-weight: 600; color: var(--abhyaspro-text); line-height: 1.4; }
.abhyaspro-review__arrow { color: var(--abhyaspro-muted); transition: transform .18s ease; }
.abhyaspro-review__item[open] .abhyaspro-review__arrow { transform: rotate(180deg); }
.abhyaspro-review__body {
    padding: 8px 16px 16px;
    border-top: 1px dashed var(--abhyaspro-border);
    background: var(--abhyaspro-surface-2);
}
.abhyaspro-review__row { margin: 10px 0; color: var(--abhyaspro-text); font-size: 14px; }
.abhyaspro-review__row strong {
    display: inline-block; min-width: 130px;
    color: var(--abhyaspro-muted); font-weight: 700;
    font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em;
}
.abhyaspro-review__explanation {
    background: #fef9c3; color: #713f12;
    padding: 11px 14px; border-radius: 8px;
    margin-top: 10px; font-size: 13.5px;
    border: 1px solid #fde68a;
}

/* ═══════════════════════════════════════════════════════════════
 * RATING WIDGET
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-rating {
    margin-top: 32px; padding: 22px;
    border-radius: 14px;
    background: var(--abhyaspro-surface-3);
    border: 1px solid var(--abhyaspro-border-blue);
}
.abhyaspro-rating h3 { margin: 0 0 4px; color: var(--abhyaspro-text); font-size: 17px; font-weight: 800; }
.abhyaspro-rating__stars { display: inline-flex; gap: 6px; margin: 12px 0 14px; }
.abhyaspro-rating__star {
    font-size: 30px; cursor: pointer; color: #e2e8f0;
    transition: transform .12s ease, color .12s ease; line-height: 1;
    background: transparent; border: 0; padding: 0;
}
.abhyaspro-rating__star:hover, .abhyaspro-rating__star.is-active { color: #f59e0b; transform: scale(1.18); }
.abhyaspro-rating textarea {
    width: 100%; min-height: 88px; padding: 11px 14px;
    border-radius: 10px; border: 1.5px solid var(--abhyaspro-border);
    font-family: inherit; font-size: 14px;
    color: var(--abhyaspro-text); background: #fff; resize: vertical;
}
.abhyaspro-rating textarea:focus {
    outline: none; border-color: var(--abhyaspro-primary);
    box-shadow: 0 0 0 3px rgba(37,99,235,.14);
}
.abhyaspro-rating__thanks { color: var(--abhyaspro-success); font-weight: 700; margin-top: 10px; }

.abhyaspro-reviews-list { margin-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.abhyaspro-reviews-list__item {
    background: #fff; border: 1px solid var(--abhyaspro-border);
    border-radius: 10px; padding: 13px 16px;
}
.abhyaspro-reviews-list__meta { color: var(--abhyaspro-muted); font-size: 12px; }

/* ═══════════════════════════════════════════════════════════════
 * ERRORS & EMPTY
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-error {
    padding: 14px 18px; background: #fef2f2; color: #991b1b;
    border-radius: 10px; font-weight: 600; border: 1px solid #fecaca;
}
.abhyaspro-empty {
    text-align: center; padding: 40px 20px;
    background: var(--abhyaspro-surface-2);
    border-radius: calc(var(--abhyaspro-radius) + 4px);
    border: 1px dashed var(--abhyaspro-border-strong);
    color: var(--abhyaspro-muted);
}
.abhyaspro-empty__icon { font-size: 42px; margin-bottom: 6px; }
.abhyaspro-empty h3 { color: var(--abhyaspro-text); font-size: 18px; margin: 6px 0 4px; }

/* ═══════════════════════════════════════════════════════════════
 * FOOTER
 * ═══════════════════════════════════════════════════════════════ */
/* ── 2-column footer ── */
.abhyaspro-footer {
    margin-top: 36px; padding: 16px clamp(18px, 3vw, 30px);
    border-radius: 6px;
    background: var(--abhyaspro-surface);
    border: 1px solid var(--abhyaspro-border);
    box-shadow: var(--abhyaspro-shadow-sm);
}
.abhyaspro-footer__cols {
    display: flex; align-items: center; justify-content: center;
}
.abhyaspro-footer__right { display: flex; align-items: center; flex-direction: column; gap: 7px; }
.abhyaspro-footer__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 14px; }
.abhyaspro-footer__links a { color: var(--abhyaspro-primary); font-size: 12px; font-weight: 700; }
.abhyaspro-footer__links a:hover { color: var(--abhyaspro-primary-dark); text-decoration: underline; }
.abhyaspro-footer__copy {
    color: #9ca3af;
    font-size: 12.5px; font-weight: 500; line-height: 1.5;
    text-align: right;
}
@media (max-width: 520px) {
    .abhyaspro-footer__cols { flex-direction: column; align-items: center; }
    .abhyaspro-footer__copy { text-align: center; }
}

/* ═══════════════════════════════════════════════════════════════
 * CERTIFICATE
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-cert-print { display: none; }
.abhyaspro-cert-container {
    width: 1000px; height: 720px; background: #f8fbff;
    border: 1px solid #cbdcf7; padding: 16px; box-sizing: border-box;
    font-family: 'Georgia','Times New Roman',serif; color: #0f172a;
    box-shadow: 0 18px 50px rgba(15, 61, 120, .14);
}
.abhyaspro-cert-inner {
    border: 1px solid #b8d3f3; height: 100%; padding: 30px 54px 22px;
    display: flex; flex-direction: column; justify-content: space-between;
    align-items: center; text-align: center; position: relative;
    background:
        radial-gradient(circle at 50% 42%, rgba(96,165,250,.08), transparent 34%),
        #fff;
}
.abhyaspro-cert-inner::before,
.abhyaspro-cert-inner::after {
    content: ''; position: absolute; width: 42px; height: 42px;
    border-color: var(--abhyaspro-accent); border-style: solid; opacity: .75;
}
.abhyaspro-cert-inner::before {
    left: 14px; top: 14px; border-width: 2px 0 0 2px;
}
.abhyaspro-cert-inner::after {
    right: 14px; bottom: 14px; border-width: 0 2px 2px 0;
}
.abhyaspro-cert-header {
    width: 100%; display: flex; align-items: center;
    justify-content: flex-start; gap: 20px;
}
.abhyaspro-cert-brand {
    display: flex; align-items: center; gap: 10px; text-align: left;
}
.abhyaspro-cert-brand-logo {
    display: block; width: 76px; height: 76px;
    object-fit: contain; border: 0; border-radius: 0;
}
.abhyaspro-cert-brand-name {
    color: var(--abhyaspro-primary); font-family: 'Segoe UI', Arial, sans-serif;
    font-size: 17px; letter-spacing: .16em; font-weight: 900;
}
.abhyaspro-cert-brand-subtitle {
    color: #64748b; font-family: 'Segoe UI', Arial, sans-serif;
    font-size: 10px; letter-spacing: .04em; margin-top: 3px;
}
.abhyaspro-cert-kicker {
    color: var(--abhyaspro-primary); font-family: 'Segoe UI', Arial, sans-serif;
    font-size: 11px; font-weight: 800; letter-spacing: .16em;
    border: 1px solid #bfdbfe; border-radius: 999px;
    padding: 8px 13px; white-space: nowrap;
}
.abhyaspro-cert-title {
    font-size: 56px; letter-spacing: .16em; color: var(--abhyaspro-primary);
    font-weight: 900; margin: 4px 0 0; line-height: 1;
}
.abhyaspro-cert-subtitle {
    font-family: 'Segoe UI', Arial, sans-serif; font-size: 15px;
    color: #64748b; margin-top: 3px;
}
.abhyaspro-cert-name {
    max-width: 80%; font-size: 34px; color: var(--abhyaspro-primary);
    font-weight: 800; text-transform: uppercase; letter-spacing: .08em;
    border-bottom: 2px solid var(--abhyaspro-accent); padding: 0 22px 8px;
    margin: 8px 0 4px; line-height: 1.15;
}
.abhyaspro-cert-quiz {
    max-width: 80%; font-family: 'Segoe UI', Arial, sans-serif;
    font-size: 21px; color: #172554; font-weight: 800;
    line-height: 1.25; text-align: center;
}
.abhyaspro-cert-score {
    font-family: 'Segoe UI', Arial, sans-serif; font-size: 22px;
    color: #047857; font-weight: 800; background: #d1fae5;
    border: 1px solid #86efac; padding: 9px 24px;
    border-radius: 999px; margin-top: 5px;
}
.abhyaspro-cert-meta {
    font-family: 'Segoe UI', Arial, sans-serif; font-size: 13px;
    color: #64748b; margin-top: 2px;
}
.abhyaspro-cert-tagline {
    font-family: 'Segoe UI', Arial, sans-serif; font-size: 12px;
    font-style: italic; color: #94a3b8; margin-top: 0;
}
.abhyaspro-cert-disclaimer {
    width: 100%; padding-top: 10px; margin-top: 4px;
    border-top: 1px solid #e2e8f0;
    color: #94a3b8; font-family: 'Segoe UI', Arial, sans-serif;
    font-size: 11px; letter-spacing: .01em; line-height: 1.4;
}

/* ═══════════════════════════════════════════════════════════════
 * TOASTS
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-toast {
    position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
    background: var(--abhyaspro-primary); color: #fff;
    padding: 11px 22px; border-radius: 999px;
    box-shadow: var(--abhyaspro-shadow-lg);
    z-index: 100000; font-weight: 700; font-size: 14px;
    animation: abhyaspro-toast-in .28s ease;
}
@keyframes abhyaspro-toast-in { from { opacity:0; transform:translate(-50%,12px); } to { opacity:1; transform:translate(-50%,0); } }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .abhyaspro-card, .abhyaspro-btn, .abhyaspro-option, .abhyaspro-share-icon,
    .abhyaspro-run__progress-bar, .abhyaspro-toast { transition:none!important; animation:none!important; }
}

/* ═══════════════════════════════════════════════════════════════
 * RESPONSIVE — container + media queries
 * ═══════════════════════════════════════════════════════════════ */
@container (max-width: 520px) {
    .abhyaspro-grid { gap: 14px; }
    .abhyaspro-card__title { padding-right: 0; font-size: 20px; }
    .abhyaspro-run { padding: 16px 14px; }
    .abhyaspro-nav { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
    .abhyaspro-nav .abhyaspro-btn { min-width: 0; padding: 10px 8px; font-size: 13px; }
}

@media (max-width: 640px) {
    .abhyaspro-run { padding: 16px 14px; border-radius: 14px; }
    .abhyaspro-run__topbar { gap: 10px; padding-bottom: 12px; margin-bottom: 14px; }
    .abhyaspro-run__brand-meta strong { font-size: 14px; }
    .abhyaspro-run__timer { padding: 7px 13px; font-size: 13.5px; }
    .abhyaspro-nav { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
    .abhyaspro-nav .abhyaspro-btn { width: 100%; min-width: 0; padding: 10px 8px; font-size: 13px; }
    .abhyaspro-result { padding: 18px 14px; }
    .abhyaspro-card__body { padding: 16px; }
    .abhyaspro-card--launch-only .abhyaspro-card__body {
        padding: 18px 18px 24px;
    }
    .abhyaspro-footer { padding: 18px 14px; }
    .abhyaspro-footer__links { gap: 8px 14px; }
    .abhyaspro-option { padding: 12px 14px; font-size: 14px; gap: 12px; }
    .abhyaspro-option__marker { width: 28px; height: 28px; font-size: 12px; }
    .abhyaspro-result__actions { flex-direction: column; align-items: stretch; }
    .abhyaspro-result__actions .abhyaspro-btn { width: 100%; }
    .abhyaspro-review__header { align-items: stretch; }
    .abhyaspro-review__controls { width: 100%; justify-content: stretch; }
    .abhyaspro-review__controls > * { flex: 1 1 100%; }
    .abhyaspro-review__controls .abhyaspro-review__toggle { width: 100%; text-align: center; }
    .abhyaspro-result__actions .abhyaspro-share-icon { align-self: center; }
}
.abhyaspro-card--launch-only .abhyaspro-card__body .abhyaspro-field__label { text-align: left; }

@media (max-width: 420px) {
    .abhyaspro-question__counter { font-size: 10px; padding-inline: 10px; }
    .abhyaspro-nav .abhyaspro-btn { font-size: 12px; padding-inline: 6px; }
}

@media (max-width: 380px) {
    .abhyaspro-review__q { font-size: 13.5px; }
    .abhyaspro-stat__value { font-size: 24px; }
}

/* Elementor / Gutenberg container fix */
.elementor .abhyaspro-shell,
.elementor-widget-container .abhyaspro-shell,
.wp-block-shortcode .abhyaspro-shell { width: 100%; max-width: 100%; }

/* PWA safe area */
@supports (padding: env(safe-area-inset-bottom)) {
    .abhyaspro-shell { padding-bottom: env(safe-area-inset-bottom); }
}

/* Print */
@media print {
    .abhyaspro-shell { background: #fff; color: #000; }
    .abhyaspro-footer, .abhyaspro-run__topbar, .abhyaspro-nav,
    .abhyaspro-rating, .abhyaspro-result__actions,
    .abhyaspro-runner-print-hide { display: none !important; }
    .abhyaspro-review__item { break-inside: avoid; page-break-inside: avoid; }
    .abhyaspro-review__body { display: block !important; }
}

/* AbhyasPro 5.0 navigation/result refinements */
.abhyaspro-global-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 16px;padding:8px 12px;border:0;background:transparent;color:var(--abhyaspro-primary);font-weight:700;cursor:pointer;text-decoration:none;}
.abhyaspro-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.abhyaspro-card__category{font-size:12px;line-height:1.2;padding:5px 8px;border-radius:999px;background:#eff6ff;color:var(--abhyaspro-primary);font-weight:700;white-space:nowrap;}
.abhyaspro-review__toggle{border:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer;padding:0;text-align:left;}
.abhyaspro-review__body-wrap[hidden]{display:none!important;}

/* AbhyasPro button contrast hardening */
/* AbhyasPro v5.1.0 button text/hover contract: keep text visible in normal, hover and keyboard-focus states. */
.abhyaspro-shell .abhyaspro-btn--primary:focus-visible,
.abhyaspro-shell .abhyaspro-btn--outline:focus-visible {
    color: var(--abhyaspro-primary-button-hover-text, var(--abhyaspro-button-hover-text, var(--abhyaspro-primary-button-text, #1d4ed8))) !important;
}
.abhyaspro-shell .abhyaspro-btn--primary, .abhyaspro-shell .abhyaspro-btn--primary:visited { background: var(--abhyaspro-primary-button-bg, transparent) !important; color: var(--abhyaspro-primary-button-text, var(--abhyaspro-button-outline-text, #1d4ed8)) !important; border-color: var(--abhyaspro-primary) !important; }
.abhyaspro-shell .abhyaspro-btn--primary:hover:not(:disabled) { background: var(--abhyaspro-primary-button-hover-bg, var(--abhyaspro-primary-soft)) !important; color: var(--abhyaspro-primary-button-hover-text, var(--abhyaspro-button-outline-text, #1d4ed8)) !important; }
.abhyaspro-shell .abhyaspro-btn--outline, .abhyaspro-shell .abhyaspro-btn--outline:visited { background: #fff !important; color: var(--abhyaspro-primary-button-text, var(--abhyaspro-button-outline-text, #1d4ed8)) !important; border-color: var(--abhyaspro-primary) !important; }
.abhyaspro-shell .abhyaspro-btn--outline:hover:not(:disabled) { background: var(--abhyaspro-primary-soft) !important; color: var(--abhyaspro-primary-button-hover-text, var(--abhyaspro-button-hover-text, var(--abhyaspro-button-outline-text, #1d4ed8))) !important; }
.abhyaspro-shell .abhyaspro-screen-back { color: var(--abhyaspro-primary) !important; }
.abhyaspro-shell .abhyaspro-btn--primary:disabled {
    color: var(--abhyaspro-primary-button-text, var(--abhyaspro-button-outline-text, #1d4ed8)) !important;
    background: var(--abhyaspro-primary-button-bg, transparent) !important;
    border-color: var(--abhyaspro-primary) !important;
    opacity: .60;
}


/* AbhyasPro SEO / Welcome Description */
.abhyaspro-seo-desc {
    width: 100%;
    margin: 0 0 18px;
    padding: 16px 18px;
    border: 1px solid var(--abhyaspro-border-blue, #bfdbfe);
    border-radius: 12px;
    background: var(--abhyaspro-primary-soft, #eff6ff);
    color: var(--abhyaspro-text-2, #1e293b);
    text-align: left;
    font-size: 14px;
    line-height: 1.7;
}
.abhyaspro-seo-desc > :first-child { margin-top: 0; }
.abhyaspro-seo-desc > :last-child { margin-bottom: 0; }
.abhyaspro-screen4-slot { width:100%; margin-top:20px; }


/* AbhyasPro 5.0.14 — responsive UI hardening.
 * Prevents mobile horizontal overflow / clipped card borders and lets
 * admin-controlled UI variables drive the presentation without touching
 * quiz data or runner logic.
 */
.abhyaspro-shell {
    width: 100%;
    max-width: min(100%, var(--abhyaspro-shell-max-width, 1200px));
    min-width: 0;
    overflow: visible;
    padding-left: var(--abhyaspro-mobile-padding, 12px);
    padding-right: var(--abhyaspro-mobile-padding, 12px);
}
.abhyaspro-grid {
    width: 100%;
    min-width: 0;
    gap: var(--abhyaspro-grid-gap, 28px);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}
.abhyaspro-grid--single {
    width: 100%;
    max-width: var(--abhyaspro-single-max-width, 520px);
    grid-template-columns: minmax(0, 1fr);
    margin-inline: auto;
}
.abhyaspro-card {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    border-radius: var(--abhyaspro-radius, 17px);
    border-width: var(--abhyaspro-card-border-width, 1px);
    border-color: var(--abhyaspro-card-border-color, #e1e5ea);
    box-shadow: var(--abhyaspro-card-shadow, none);
}
.abhyaspro-card--launch-only {
    width: 100%;
    max-width: var(--abhyaspro-launch-max-width, 520px);
    min-width: 0;
}
.abhyaspro-card__body { padding: 10px var(--abhyaspro-card-pad-x, 26px) var(--abhyaspro-card-pad-y, 28px); }
.abhyaspro-card__title { font-size: var(--abhyaspro-title-size, 22px); }
.abhyaspro-card__desc { font-size: var(--abhyaspro-description-size, 14px); }
.abhyaspro-card__meta { font-size: var(--abhyaspro-meta-size, 13px); }
.abhyaspro-btn { min-height: var(--abhyaspro-button-height, 50px); border-radius: var(--abhyaspro-button-radius, 999px); font-size: var(--abhyaspro-button-font-size, 15px); }

@media (min-width: 641px) {
    .abhyaspro-shell { padding-left: 0; padding-right: 0; }
}
@media (max-width: 640px) {
    .abhyaspro-shell { padding-left: var(--abhyaspro-mobile-padding, 12px); padding-right: var(--abhyaspro-mobile-padding, 12px); }
    .abhyaspro-grid--single { max-width: 100%; }
    .abhyaspro-card--launch-only { max-width: 100%; }
    .abhyaspro-card__body { padding: var(--abhyaspro-mobile-card-pad-y, 22px) var(--abhyaspro-mobile-card-pad-x, 16px) var(--abhyaspro-mobile-card-pad-y, 22px); }
    .abhyaspro-card--launch-only .abhyaspro-card__body { padding: var(--abhyaspro-mobile-card-pad-y, 22px) var(--abhyaspro-mobile-card-pad-x, 16px); }
    .abhyaspro-launch-panel { padding-left: var(--abhyaspro-mobile-card-pad-x, 16px); padding-right: var(--abhyaspro-mobile-card-pad-x, 16px); }
    .abhyaspro-launch-panel h2 { max-width: 100%; overflow-wrap: anywhere; }
    .abhyaspro-card__start { max-width: 100%; }
}
@media (max-width: 380px) {
    .abhyaspro-shell { padding-left: max(8px, var(--abhyaspro-mobile-padding, 12px)); padding-right: max(8px, var(--abhyaspro-mobile-padding, 12px)); }
    .abhyaspro-card { border-radius: min(var(--abhyaspro-radius, 17px), 14px); }
}


/* AbhyasPro 5.0.14 — final viewport/PWA containment safeguards */
.abhyaspro-shell,
.abhyaspro-shell *,
.abhyaspro-shell *::before,
.abhyaspro-shell *::after {
    box-sizing: border-box;
}

.abhyaspro-shell {
    width: 100%;
    max-width: min(100%, var(--abhyaspro-shell-max-width, 1200px));
    min-width: 0;
}

.abhyaspro-shell .abhyaspro-grid,
.abhyaspro-shell .abhyaspro-card,
.abhyaspro-shell .abhyaspro-card__body,
.abhyaspro-shell .abhyaspro-card__top,
.abhyaspro-shell .abhyaspro-card__meta,
.abhyaspro-shell .abhyaspro-card__tags {
    min-width: 0;
    max-width: 100%;
}

.abhyaspro-shell .abhyaspro-card__title,
.abhyaspro-shell .abhyaspro-card__desc,
.abhyaspro-shell .abhyaspro-card__category,
.abhyaspro-shell .abhyaspro-tag {
    overflow-wrap: anywhere;
    word-break: normal;
}

@media (max-width: 640px) {
    .abhyaspro-shell {
        padding-left: max(8px, var(--abhyaspro-mobile-padding, 12px));
        padding-right: max(8px, var(--abhyaspro-mobile-padding, 12px));
        overflow: clip;
    }

    .abhyaspro-shell .abhyaspro-grid {
        grid-template-columns: 1fr;
    }

    .abhyaspro-shell .abhyaspro-card {
        width: 100%;
        max-width: 100%;
    }

    .abhyaspro-shell .abhyaspro-btn {
        min-width: 0;
        max-width: 100%;
    }
}

/* ═══════════════════════════════════════════════════════════════
 * v5.0.14 MODERN FOCUS MODE + GLASS UI
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-run__tools { display:flex; align-items:center; gap:8px; }
.abhyaspro-focus-toggle {
    min-height:40px; padding:8px 12px; border-radius:999px;
    border:1px solid var(--abhyaspro-border-blue); background:rgba(255,255,255,.78);
    color:var(--abhyaspro-primary); font-weight:800; font-size:12px; cursor:pointer;
    transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.abhyaspro-focus-toggle:hover { transform:translateY(-1px); box-shadow:var(--abhyaspro-shadow-sm); background:#fff; }
.abhyaspro-focus-mode {
    position:relative; isolation:isolate;
}
.abhyaspro-focus-mode .abhyaspro-run {
    max-width:900px; margin-inline:auto;
}
.abhyaspro-focus-mode .abhyaspro-run__topbar {
    position:sticky; top:10px; z-index:30;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(191,219,254,.9);
    box-shadow:0 10px 30px rgba(15,23,42,.08);
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
}
.abhyaspro-focus-mode .abhyaspro-run__brand-meta { opacity:.72; }
.abhyaspro-focus-mode .abhyaspro-run__question,
.abhyaspro-focus-mode .abhyaspro-question-card {
    box-shadow:0 16px 45px rgba(15,23,42,.07);
}
.abhyaspro-loading-card {
    width:min(100%,520px); margin:70px auto; padding:28px 22px;
    text-align:center; border:1px solid var(--abhyaspro-border-blue);
    border-radius:18px; background:rgba(255,255,255,.88);
    box-shadow:var(--abhyaspro-shadow-lg); color:var(--abhyaspro-text);
    font-weight:800; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}
.abhyaspro-loading-card::before {
    content:""; display:block; width:30px; height:30px; margin:0 auto 14px;
    border:3px solid var(--abhyaspro-primary-mid); border-top-color:var(--abhyaspro-primary);
    border-radius:50%; animation:abhyaspro-spin .75s linear infinite;
}
@keyframes abhyaspro-spin { to { transform:rotate(360deg); } }
@media (max-width:620px) {
    .abhyaspro-run__tools { gap:5px; }
    .abhyaspro-focus-toggle { min-height:36px; padding:7px 9px; font-size:11px; }
    .abhyaspro-run__topbar { gap:8px; }
    .abhyaspro-focus-mode .abhyaspro-run__topbar { top:4px; }
}
@media (prefers-reduced-motion: reduce) {
    .abhyaspro-focus-toggle, .abhyaspro-loading-card::before { transition:none; animation:none; }
}

/* Section marker shown above every question that belongs to an admin-defined section. */
.abhyaspro-question__section {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1px solid var(--abhyaspro-primary-mid);
    border-radius: 12px;
    background: var(--abhyaspro-primary-soft);
    color: var(--abhyaspro-primary);
    font-size: 13px;
    font-weight: 800;
}
.abhyaspro-question__section-icon { font-size: 17px; line-height: 1; }
.abhyaspro-question__section-title { letter-spacing: .01em; }
.abhyaspro-question__text p:first-child { margin-top: 0; }
.abhyaspro-question__text p:last-child { margin-bottom: 0; }
.abhyaspro-card--featured { cursor: pointer; }


.abhyaspro-btn.is-active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}

/* AbhyasPro 5.0.14 — clean light review/PDF typography */
.abhyaspro-pdf-rich p { margin:0 0 7px; }
.abhyaspro-pdf-rich ul { margin:6px 0 6px 20px; padding-left:16px; list-style:disc; }
.abhyaspro-pdf-rich ol { margin:6px 0 6px 20px; padding-left:16px; list-style:decimal; }
.abhyaspro-pdf-rich li { margin:0 0 3px; }
.abhyaspro-pdf-rich blockquote { margin:8px 0; padding:6px 12px; border-left:3px solid #cbd5e1; background:#f8fafc; }
.abhyaspro-pdf-rich strong, .abhyaspro-pdf-rich b { font-weight:800; }
.abhyaspro-pdf-explanation { font-weight:400; }


/* ═══════════════════════════════════════════════════════════════
 * v5.0.14 — FINAL STUDENT UX POLISH
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-run__tools { position:relative; }
.abhyaspro-info-wrap { position:relative; display:inline-flex; align-items:center; }
.abhyaspro-info-btn {
    width:26px; height:26px; padding:0; border-radius:50%; border:1px solid var(--abhyaspro-border-strong);
    background:#fff; color:var(--abhyaspro-primary); font-weight:900; font-size:13px; line-height:1; cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center; box-shadow:var(--abhyaspro-shadow-sm);
}
.abhyaspro-info-btn:hover,.abhyaspro-info-btn:focus-visible { border-color:var(--abhyaspro-primary); outline:3px solid rgba(37,99,235,.12); }
.abhyaspro-info-popover {
    position:absolute; z-index:80; top:calc(100% + 10px); right:0; width:min(330px, calc(100vw - 34px));
    padding:14px 15px; background:#fff; border:1px solid var(--abhyaspro-border-blue); border-radius:14px;
    box-shadow:0 16px 38px rgba(15,23,42,.14); color:var(--abhyaspro-text); font-size:12.5px; line-height:1.55;
}
.abhyaspro-info-popover strong { display:block; margin-bottom:5px; font-size:13px; }
.abhyaspro-info-popover__text { display:block; color:var(--abhyaspro-muted); }
.abhyaspro-info-close { margin-top:8px; padding:0; border:0; background:none; color:var(--abhyaspro-primary); font-size:11px; font-weight:800; cursor:pointer; }
.abhyaspro-question__meta { align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.abhyaspro-question__status { font-size:11px; color:var(--abhyaspro-muted); font-weight:700; letter-spacing:.01em; }
.abhyaspro-mark-wrap { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:18px; }
.abhyaspro-mark-wrap .abhyaspro-btn { min-height:42px; }
.abhyaspro-question-palette-toggle {
    margin:0 0 12px; border:1px solid var(--abhyaspro-border); background:#fff; color:var(--abhyaspro-text-2);
    border-radius:10px; min-height:40px; padding:8px 12px; font-size:12px; font-weight:800; cursor:pointer;
}
.abhyaspro-question-palette-toggle:hover,.abhyaspro-question-palette-toggle:focus-visible { border-color:var(--abhyaspro-primary); outline:3px solid rgba(37,99,235,.10); }
.abhyaspro-question-palette {
    display:grid; grid-template-columns:repeat(auto-fill,minmax(38px,1fr)); gap:7px; padding:12px; margin-bottom:16px;
    border:1px solid var(--abhyaspro-border); border-radius:14px; background:var(--abhyaspro-surface-2);
}
.abhyaspro-palette-item {
    min-height:38px; border:1px solid var(--abhyaspro-border-strong); border-radius:9px; background:#fff; color:var(--abhyaspro-text-2);
    font-weight:800; cursor:pointer; position:relative;
}
.abhyaspro-palette-item.is-answered { background:#ecfdf5; border-color:#a7f3d0; color:#047857; }
.abhyaspro-palette-item.is-marked { box-shadow:inset 0 0 0 2px #f59e0b; }
.abhyaspro-palette-item.is-current { border-color:var(--abhyaspro-primary); color:var(--abhyaspro-primary); box-shadow:0 0 0 3px rgba(37,99,235,.10); }
.abhyaspro-focus-mode .abhyaspro-run { border-color:#dbeafe; box-shadow:0 18px 50px rgba(37,99,235,.08); }
.abhyaspro-focus-mode .abhyaspro-run__topbar { background:#fff; }
.abhyaspro-focus-toggle { white-space:nowrap; }
@media (max-width:620px) {
    .abhyaspro-question__status { width:100%; order:3; font-size:10.5px; }
    .abhyaspro-mark-wrap { justify-content:stretch; }
    .abhyaspro-mark-wrap .abhyaspro-btn { flex:1; }
    .abhyaspro-info-popover { right:auto; left:50%; transform:translateX(-50%); }
    .abhyaspro-run__tools { flex-wrap:wrap; justify-content:flex-end; }
}
@media (prefers-reduced-motion:reduce) {
    .abhyaspro-option,.abhyaspro-focus-toggle,.abhyaspro-progress-bar { transition:none !important; }
}

/* v5.0.15 — Global General settings design system */
.abhyaspro-shell, .abhyaspro-hero-shell { color: var(--abhyaspro-text-global, var(--abhyaspro-text)); }
.abhyaspro-shell .abhyaspro-card, .abhyaspro-shell .abhyaspro-run, .abhyaspro-shell .abhyaspro-result, .abhyaspro-shell .abhyaspro-review-card { background: var(--abhyaspro-card-bg, #f5f5f5); border-color: var(--abhyaspro-card-border-color, #e5e7eb); box-shadow: var(--abhyaspro-card-shadow, none); }
.abhyaspro-shell .abhyaspro-card--launch-only { background: var(--abhyaspro-card-bg, #f5f5f5); box-shadow: none; }
.abhyaspro-shell .abhyaspro-card__body { background: transparent; }
.abhyaspro-shell .abhyaspro-btn--outline, .abhyaspro-shell .abhyaspro-btn--outline:visited { border-color: var(--abhyaspro-primary); color: var(--abhyaspro-button-outline-text, #1d4ed8) !important; background: transparent !important; }

/* v5.1.0 — standalone exam mode keeps individual test pages distraction-free. */
.abhyaspro-shell--standalone > .abhyas-features-section,
.abhyaspro-shell--standalone > .abhyaspro-footer { display:none !important; }
.abhyaspro-shell--standalone .abhyaspro-result { margin-bottom: 32px; }
.abhyaspro-shell--standalone .abhyaspro-runner { margin-bottom: 28px; }

/* ═══════════════════════════════════════════════════════════════
 * AbhyasPro v5.1 — learner-first mobile runner
 * - Compact "बाद में करें" control above the question
 * - Sticky Previous / Next navigation on mobile
 * - Safe viewport gutters and long-title wrapping
 * - Explicit submission/download status states
 * ═══════════════════════════════════════════════════════════════ */
.abhyaspro-runner,
.abhyaspro-run,
.abhyaspro-question-wrap { min-width: 0; max-width: 100%; box-sizing: border-box; }
.abhyaspro-run__brand-meta strong { white-space: normal; overflow-wrap: anywhere; }
.abhyaspro-mark-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    margin: 0 0 16px;
    min-width: 0;
}
.abhyaspro-mark-wrap .abhyaspro-btn {
    flex: 0 0 auto;
    width: auto;
    min-height: 40px;
    padding: 8px 14px;
    font-size: 13px;
}
.abhyaspro-mark-wrap .abhyaspro-info-wrap { flex: 0 0 auto; }
.abhyaspro-mark-wrap .abhyaspro-btn.is-active { background: var(--abhyaspro-primary-soft); }

.abhyaspro-nav {
    position: relative;
    z-index: 20;
}
.abhyaspro-result__success {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    margin-bottom: 12px;
    padding: 7px 14px;
    border: 1px solid #a7f3d0;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-size: 12px;
    font-weight: 850;
}
.abhyaspro-review__q { overflow-wrap: anywhere; }
.abhyaspro-review__explanation { overflow-wrap: anywhere; }
.abhyaspro-review__explanation p:first-child { margin-top: 0; }
.abhyaspro-review__explanation p:last-child { margin-bottom: 0; }
.abhyaspro-toast--success { background: #047857; }
.abhyaspro-toast--error { background: #b91c1c; }
.abhyaspro-toast--warning { background: #92400e; }

@media (max-width: 640px) {
    .abhyaspro-shell {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        padding-left: max(10px, var(--abhyaspro-mobile-padding, 12px));
        padding-right: max(10px, var(--abhyaspro-mobile-padding, 12px));
        overflow-x: clip;
    }
    .abhyaspro-runner { width: 100%; margin-top: 14px; }
    .abhyaspro-run {
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
        padding: 15px 12px calc(24px + env(safe-area-inset-bottom, 0px));
        border-radius: 16px;
        overflow: visible;
    }
    .abhyaspro-run__topbar { align-items: flex-start; }
    .abhyaspro-run__brand { min-width: 0; flex: 1 1 auto; }
    .abhyaspro-run__brand-meta { min-width: 0; }
    .abhyaspro-run__brand-meta strong { white-space: normal; line-height: 1.3; }
    .abhyaspro-run__tools { flex: 0 0 auto; max-width: 100%; }
    .abhyaspro-question__meta { align-items: flex-start; }
    .abhyaspro-question__status { width: 100%; }

    /* The review/skip control is intentionally compact and sits before the question. */
    .abhyaspro-mark-wrap { margin: 0 0 13px; justify-content: flex-start; }
    .abhyaspro-mark-wrap .abhyaspro-btn {
        flex: 0 1 auto;
        min-height: 38px;
        padding: 7px 12px;
        font-size: 12px;
    }

    /* Thumb-zone navigation: users can answer and advance without scrolling to the footer. */
    .abhyaspro-nav {
        position: sticky;
        bottom: max(8px, env(safe-area-inset-bottom, 8px));
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
        margin-top: 18px;
        padding: 9px;
        border: 1px solid var(--abhyaspro-border-blue);
        border-radius: 16px;
        background: rgba(255,255,255,.96);
        box-shadow: 0 12px 32px rgba(15,23,42,.14);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }
    .abhyaspro-nav .abhyaspro-btn {
        width: 100%;
        max-width: none;
        min-height: 46px;
        padding: 10px 8px;
        font-size: 13px;
    }
    .abhyaspro-question__text { font-size: clamp(17px, 4.7vw, 20px); line-height: 1.55; }
    .abhyaspro-option { width: 100%; min-width: 0; overflow-wrap: anywhere; }
    .abhyaspro-option > span:last-child { min-width: 0; overflow-wrap: anywhere; }
}

@media (max-width: 380px) {
    .abhyaspro-run { padding-left: 10px; padding-right: 10px; }
    .abhyaspro-nav { padding: 7px; }
    .abhyaspro-nav .abhyaspro-btn { font-size: 12px; min-height: 44px; }
    .abhyaspro-mark-wrap .abhyaspro-btn { font-size: 11.5px; }
}

/* AbhyasPro v5.1.11 — refreshed production student interface.
   User-configured brand colors, card backgrounds, shadows and radii remain authoritative. */
.abhyaspro-shell {
    --abhyaspro-ui-ink: var(--abhyaspro-text-global, var(--abhyaspro-text));
    --abhyaspro-ui-muted: var(--abhyaspro-muted);
    --abhyaspro-ui-line: var(--abhyaspro-border);
    --abhyaspro-ui-wash: var(--abhyaspro-surface-2);
}
.abhyaspro-shell__header { margin-bottom: 22px; }
.abhyaspro-shell__title {
    color: var(--abhyaspro-ui-ink);
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 750;
    letter-spacing: -.025em;
    line-height: 1.25;
}
.abhyaspro-shell .abhyaspro-grid { gap: clamp(16px, 2.2vw, 24px); }
.abhyaspro-shell .abhyaspro-card {
    border-radius: var(--abhyaspro-radius);
    box-shadow: var(--abhyaspro-card-shadow, var(--abhyaspro-shadow-md));
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.abhyaspro-shell .abhyaspro-card:not(.abhyaspro-card--launch-only):hover {
    border-color: var(--abhyaspro-primary-mid);
    box-shadow: var(--abhyaspro-card-shadow, var(--abhyaspro-shadow-md));
    transform: translateY(-2px);
}
.abhyaspro-shell .abhyaspro-card__body { gap: 12px; }
.abhyaspro-shell .abhyaspro-card__title {
    color: var(--abhyaspro-ui-ink);
    line-height: 1.38;
    letter-spacing: -.015em;
}
.abhyaspro-shell .abhyaspro-card__desc {
    color: var(--abhyaspro-ui-muted);
    line-height: 1.65;
}
.abhyaspro-shell .abhyaspro-card__category,
.abhyaspro-shell .abhyaspro-tag {
    border-radius: 999px;
    font-weight: 650;
}
.abhyaspro-shell .abhyaspro-card__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: var(--abhyaspro-ui-muted);
}
.abhyaspro-shell .abhyaspro-card__start { margin-top: auto; }
.abhyaspro-shell .abhyaspro-field__input {
    min-height: 46px;
    border-radius: 10px;
}
.abhyaspro-shell .abhyaspro-field__input:focus-visible {
    border-color: var(--abhyaspro-primary);
    outline: 3px solid var(--abhyaspro-primary-soft);
    outline-offset: 1px;
}
.abhyaspro-shell .abhyaspro-btn {
    border-radius: var(--abhyaspro-button-radius, var(--abhyaspro-radius));
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.abhyaspro-shell .abhyaspro-btn:focus-visible,
.abhyaspro-shell .abhyaspro-screen-back:focus-visible,
.abhyaspro-shell .abhyaspro-question-palette-toggle:focus-visible,
.abhyaspro-shell .abhyaspro-palette-item:focus-visible {
    outline: 3px solid var(--abhyaspro-primary);
    outline-offset: 3px;
}

.abhyaspro-shell .abhyaspro-runner { margin-top: 20px; }
.abhyaspro-shell .abhyaspro-run {
    border-radius: calc(var(--abhyaspro-radius) + 4px);
    box-shadow: var(--abhyaspro-card-shadow, var(--abhyaspro-shadow-md));
    color: var(--abhyaspro-ui-ink);
}
.abhyaspro-shell .abhyaspro-run__topbar {
    padding-bottom: 16px;
    border-color: var(--abhyaspro-ui-line);
}
.abhyaspro-shell .abhyaspro-run__brand-meta strong {
    color: var(--abhyaspro-ui-ink);
    font-size: clamp(15px, 1.7vw, 19px);
    letter-spacing: -.02em;
}
.abhyaspro-shell .abhyaspro-run__brand-meta small { color: var(--abhyaspro-ui-muted); }
.abhyaspro-shell .abhyaspro-run__timer {
    border: 1px solid var(--abhyaspro-primary-mid);
    background: var(--abhyaspro-primary-soft);
    color: var(--abhyaspro-primary);
    box-shadow: none;
}
.abhyaspro-shell .abhyaspro-run__timer.is-warning {
    border-color: var(--abhyaspro-danger);
    background: var(--abhyaspro-danger);
    color: #fff;
}
.abhyaspro-shell .abhyaspro-run__progress { gap: 10px; margin-bottom: 22px; }
.abhyaspro-shell .abhyaspro-run__progress-track {
    height: 5px;
    border: 0;
    background: var(--abhyaspro-ui-line);
}
.abhyaspro-shell .abhyaspro-run__progress-bar {
    background: var(--abhyaspro-primary);
    transition: width .28s ease;
}
.abhyaspro-shell .abhyaspro-question__meta {
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin: 0 0 18px;
}
.abhyaspro-shell .abhyaspro-question__counter {
    border-color: var(--abhyaspro-primary-mid);
    border-radius: 8px;
    background: var(--abhyaspro-primary-soft);
    font-size: 12px;
    letter-spacing: 0;
    text-transform: none;
}
.abhyaspro-shell .abhyaspro-question__status {
    padding: 5px 9px;
    border-radius: 7px;
    background: var(--abhyaspro-ui-wash);
    color: var(--abhyaspro-ui-muted);
    font-size: 11px;
    font-weight: 600;
}
.abhyaspro-shell .abhyaspro-question { gap: 16px; }
.abhyaspro-shell .abhyaspro-question__section {
    border-radius: 8px;
    font-size: 12px;
}
.abhyaspro-shell .abhyaspro-question__text {
    color: var(--abhyaspro-ui-ink);
    font-family: var(--abhyaspro-font-family, "Noto Sans Devanagari", ui-sans-serif, system-ui, sans-serif);
    font-size: clamp(18px, 2vw, 23px);
    font-weight: 650;
    line-height: 1.7;
}
.abhyaspro-shell .abhyaspro-options { gap: 10px; }
.abhyaspro-shell .abhyaspro-option {
    min-height: 56px;
    padding: 12px 16px;
    border-width: 1px;
    border-radius: 10px;
    background: var(--abhyaspro-surface);
    line-height: 1.55;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.abhyaspro-shell .abhyaspro-option:hover {
    border-color: var(--abhyaspro-primary-mid);
    background: var(--abhyaspro-primary-soft);
    transform: none;
    box-shadow: none;
}
.abhyaspro-shell .abhyaspro-option:focus-within {
    outline: 3px solid var(--abhyaspro-primary-soft);
    outline-offset: 1px;
}
.abhyaspro-shell .abhyaspro-option.is-selected {
    border-color: var(--abhyaspro-primary);
    background: var(--abhyaspro-primary-soft);
    box-shadow: inset 0 0 0 1px var(--abhyaspro-primary);
}
.abhyaspro-shell .abhyaspro-question-palette-toggle {
    border-color: var(--abhyaspro-ui-line);
    border-radius: 9px;
    background: var(--abhyaspro-surface);
    color: var(--abhyaspro-ui-ink);
}
.abhyaspro-shell .abhyaspro-question-palette {
    border-color: var(--abhyaspro-ui-line);
    border-radius: 12px;
    background: var(--abhyaspro-ui-wash);
}
.abhyaspro-shell .abhyaspro-nav {
    gap: 10px;
    border-color: var(--abhyaspro-ui-line);
}
.abhyaspro-shell .abhyaspro-nav .abhyaspro-btn { min-height: 48px; }
.abhyaspro-shell .abhyaspro-result {
    border-radius: calc(var(--abhyaspro-radius) + 4px);
    box-shadow: var(--abhyaspro-card-shadow, var(--abhyaspro-shadow-md));
}
.abhyaspro-shell .abhyaspro-stats { gap: 12px; }
.abhyaspro-shell .abhyaspro-stat { border-radius: 12px; }
.abhyaspro-shell .abhyaspro-review__item { border-radius: 10px; }

@media (max-width: 640px) {
    .abhyaspro-shell .abhyaspro-card:not(.abhyaspro-card--launch-only):hover { transform: none; }
    .abhyaspro-shell .abhyaspro-run { border-radius: var(--abhyaspro-radius); }
    .abhyaspro-shell .abhyaspro-question__meta { gap: 8px; }
    .abhyaspro-shell .abhyaspro-question__status { width: 100%; }
    .abhyaspro-shell .abhyaspro-option { min-height: 54px; padding: 11px 12px; }
    .abhyaspro-shell .abhyaspro-nav { margin-top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .abhyaspro-shell .abhyaspro-card,
    .abhyaspro-shell .abhyaspro-btn,
    .abhyaspro-shell .abhyaspro-option { transition: none; }
}

/* AbhyasPro v5.1.12 — visible two-column exam layout with a live question rail. */
.abhyaspro-shell .abhyaspro-run {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 260px);
    grid-template-areas:
        "topbar topbar"
        "progress progress"
        "meta rail"
        "mark rail"
        "question rail"
        "nav rail";
    column-gap: clamp(22px, 3.5vw, 38px);
    align-items: start;
}
.abhyaspro-shell .abhyaspro-run__topbar { grid-area: topbar; }
.abhyaspro-shell .abhyaspro-run__progress { grid-area: progress; }
.abhyaspro-shell .abhyaspro-question__meta { grid-area: meta; }
.abhyaspro-shell .abhyaspro-mark-wrap { grid-area: mark; }
.abhyaspro-shell #abhyaspro-question-wrap { grid-area: question; min-width: 0; }
.abhyaspro-shell .abhyaspro-nav { grid-area: nav; }
.abhyaspro-shell .abhyaspro-question-rail {
    grid-area: rail;
    align-self: stretch;
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--abhyaspro-ui-line);
    border-radius: 14px;
    background: var(--abhyaspro-ui-wash);
}
.abhyaspro-shell .abhyaspro-question-rail__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--abhyaspro-ui-ink);
    font-size: 14px;
}
.abhyaspro-shell .abhyaspro-question-rail__heading strong { font-weight: 700; }
.abhyaspro-shell .abhyaspro-question-rail .abhyaspro-question-palette-toggle {
    flex: 0 0 30px;
    width: 30px;
    min-height: 30px;
    margin: 0;
    padding: 0;
    border-radius: 8px;
    font-size: 18px;
    line-height: 1;
}
.abhyaspro-shell .abhyaspro-question-rail .abhyaspro-question-palette {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
.abhyaspro-shell .abhyaspro-question-palette[hidden] { display: none !important; }
.abhyaspro-shell .abhyaspro-question-rail .abhyaspro-palette-item {
    min-height: 38px;
    border-radius: 8px;
}
.abhyaspro-shell .abhyaspro-question-rail__legend {
    display: grid;
    gap: 9px;
    margin-top: 18px;
    padding-top: 15px;
    border-top: 1px solid var(--abhyaspro-ui-line);
    color: var(--abhyaspro-ui-muted);
    font-size: 11px;
}
.abhyaspro-shell .abhyaspro-question-rail__legend span {
    display: flex;
    align-items: center;
    gap: 8px;
}
.abhyaspro-shell .abhyaspro-question-rail__legend span::before {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border: 1px solid var(--abhyaspro-ui-line);
    border-radius: 3px;
    background: var(--abhyaspro-surface);
    content: "";
}
.abhyaspro-shell .abhyaspro-question-rail__legend .is-answered::before {
    border-color: var(--abhyaspro-success);
    background: var(--abhyaspro-success);
}
.abhyaspro-shell .abhyaspro-question-rail__legend .is-marked::before {
    border-color: #d6a24e;
    background: #f8edda;
}
.abhyaspro-shell .abhyaspro-question-rail__legend .is-current::before {
    border-color: var(--abhyaspro-primary);
    background: var(--abhyaspro-primary);
}
.abhyaspro-shell .abhyaspro-run--no-navigation {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "topbar"
        "progress"
        "meta"
        "mark"
        "question"
        "nav";
}
.abhyaspro-shell .abhyaspro-run--no-navigation .abhyaspro-question-rail { display: none; }

@media (max-width: 960px) {
    .abhyaspro-shell .abhyaspro-run {
        display: flex;
        flex-direction: column;
        gap: 0;
    }
    .abhyaspro-shell .abhyaspro-question-rail {
        width: 100%;
        margin: 0 0 16px;
        padding: 12px 14px;
    }
    .abhyaspro-shell .abhyaspro-question-rail__heading { margin-bottom: 0; }
    .abhyaspro-shell .abhyaspro-question-rail .abhyaspro-question-palette:not([hidden]) {
        margin-top: 12px;
    }
    .abhyaspro-shell .abhyaspro-question-rail__legend { display: none; }
    .abhyaspro-shell .abhyaspro-run--no-navigation .abhyaspro-question-rail { display: none; }
}
