/* Shared objective practice: stable geometry, immediate and readable feedback. */
body[data-ds="2031"] :is(.as-objective-options,.pyq-options,.option-list,.quiz8-options,[data-question-options],.ts-review-options){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;min-width:0;margin-block:20px;}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option,.ts-review-option){
  box-sizing:border-box;position:relative;display:grid!important;grid-template-columns:34px minmax(0,1fr) 24px!important;align-items:start;gap:13px!important;width:100%;min-width:0;min-height:66px;padding:15px 16px!important;border:1px solid var(--ds-border-strong,var(--ds-border))!important;border-radius:15px!important;background:var(--ds-surface)!important;color:var(--ds-text)!important;font-family:var(--ds-font-body)!important;font-size:1.125rem!important;line-height:1.7!important;text-align:start!important;box-shadow:none!important;white-space:normal!important;overflow-wrap:anywhere;transform:none!important;transition:none!important;cursor:pointer;
}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option,.ts-review-option)>:is(span,b):first-child{display:grid!important;place-items:center;align-self:start;min-width:32px;min-height:32px;padding:2px 4px;border:1px solid var(--ds-border);border-radius:9px;background:var(--ds-surface-soft);color:var(--ds-text-muted);font:750 .875rem/1.4 var(--ds-font-body)!important;}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option,.ts-review-option)>:nth-child(2){font:inherit!important;color:inherit!important;min-width:0;overflow-wrap:anywhere;}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option,.ts-review-option)::after{content:'○';justify-self:end;align-self:start;display:grid;place-items:center;width:24px;height:30px;font:700 1.1rem/1.5 system-ui;color:var(--ds-text-muted);}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option):not(:disabled):hover{border-color:var(--ds-primary)!important;background:color-mix(in srgb,var(--ds-primary) 4%,var(--ds-surface))!important;}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option):focus-visible{outline:3px solid var(--ds-primary)!important;outline-offset:3px;}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option):disabled{opacity:1!important;cursor:default;}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option).selected{border-color:var(--ds-primary)!important;box-shadow:inset 0 0 0 1px var(--ds-primary)!important;background:var(--ds-primary-soft)!important;}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option).selected::after{content:'●';color:var(--ds-primary);}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option,.ts-review-option):is(.correct,.correct-option){border-color:var(--ds-success,#12805c)!important;background:color-mix(in srgb,var(--ds-success,#12805c) 8%,var(--ds-surface))!important;box-shadow:inset 3px 0 0 var(--ds-success,#12805c)!important;}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option,.ts-review-option):is(.correct,.correct-option)::after{content:'✓';color:var(--ds-success,#12805c);}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option,.ts-review-option):is(.wrong,.wrong-option){border-color:var(--ds-danger,#ba3656)!important;background:color-mix(in srgb,var(--ds-danger,#ba3656) 7%,var(--ds-surface))!important;box-shadow:inset 3px 0 0 var(--ds-danger,#ba3656)!important;}
body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option,.ts-review-option):is(.wrong,.wrong-option)::after{content:'×';color:var(--ds-danger,#ba3656);}
.as-choice-state{display:none!important;}.as-choice-readonly{cursor:default!important;}
body[data-ds="2031"] .ts-review-option::after{grid-column:3;grid-row:1;}
body[data-ds="2031"] .ts-review-option-badge{grid-column:2/-1!important;grid-row:2;justify-self:start;font-size:.875rem!important;}
body[data-ds="2031"] :is(.as-objective-explanation,.pyq-explanation,.answer-feedback,.quiz8-explanation,.ts-explanation){margin-block:18px!important;padding:20px!important;border:1px solid var(--ds-border)!important;border-inline-start:4px solid var(--ds-primary)!important;border-radius:14px!important;background:var(--ds-surface-soft)!important;color:var(--ds-text)!important;font:400 1.125rem/1.85 var(--ds-font-body)!important;overflow-wrap:anywhere;}
body[data-ds="2031"] :is(.as-objective-explanation,.pyq-explanation,.answer-feedback,.quiz8-explanation,.ts-explanation) :is(p,li,div){font-size:1.125rem!important;line-height:1.85!important;color:inherit;}
.as-objective-explanation>summary{cursor:pointer;font-weight:800;color:var(--ds-heading);padding-block:2px;}.as-objective-explanation[open]>summary{margin-bottom:14px;}
.as-objective-explanation ul,.as-objective-explanation ol{padding-inline-start:1.5em;}
.as-objective-feedback{padding:12px 16px;border-radius:10px;background:var(--ds-primary-soft);font-weight:750;color:var(--ds-heading);}
.as-objective-feedback.is-correct{border-inline-start:3px solid var(--ds-success);}.as-objective-feedback.is-wrong{border-inline-start:3px solid var(--ds-danger);}
.as-objective-question{min-width:0;scroll-margin-top:140px;}.as-objective-stem{font:400 1.125rem/1.85 var(--ds-font-body);color:var(--ds-text);}.as-objective-stem p{margin:10px 0;}.as-objective-stem ol,.as-objective-stem ul{padding-inline-start:1.5em;}.as-objective-stem li{margin-block:8px;}
.objective-question-figure{display:block;max-width:100%;height:auto;margin-block:16px;}.as-objective-stem table{display:block;max-width:100%;overflow-x:auto;}
.as-question-gate{margin-block:0 34px;}.as-question-gate-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px;}.as-question-gate h2{margin:0;color:var(--ds-heading);font-size:1.6rem;}.as-question-gate-head p{margin:5px 0 0;color:var(--ds-text-muted);}.as-question-gate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.as-question-gate-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:26px;border:1px solid var(--ds-border);border-radius:20px;background:var(--ds-surface);color:var(--ds-text);text-decoration:none;}.as-question-gate-card:hover{border-color:var(--ds-primary);}.as-question-gate-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--ds-primary-soft);color:var(--ds-primary);font-size:1.35rem;font-weight:800;}.as-question-gate-card:nth-child(2) .as-question-gate-icon{background:color-mix(in srgb,var(--ds-success) 12%,var(--ds-surface));color:var(--ds-success);}.as-question-gate-card h3{margin:0;font-size:1.3rem;color:var(--ds-heading);}.as-question-gate-card p{margin:0;font-size:1rem;color:var(--ds-text-muted);line-height:1.8;}.as-question-gate-card strong{margin-top:auto;color:var(--ds-primary);font-size:1rem;}
@media(max-width:640px){.as-question-gate-grid{grid-template-columns:minmax(0,1fr);}.as-question-gate-card{padding:22px;}.as-question-gate-head{align-items:start;}.as-question-gate h2{font-size:1.4rem;}body[data-ds="2031"] :is(.as-objective-option,.pyq-options button,.option-list .option-btn,.quiz8-option,.ts-option,.ts-review-option){grid-template-columns:30px minmax(0,1fr) 20px!important;gap:10px!important;padding:13px 11px!important;}body[data-ds="2031"] :is(.as-objective-explanation,.pyq-explanation,.answer-feedback,.quiz8-explanation,.ts-explanation){padding:16px!important;}}


/* AS_OBJECTIVE_STATEMENT_LAYOUT_LOCK_V2
   Permanent shared rule: statements never stack their marker above the text,
   and every statement begins on its own row across Objective/MCQ/PYQ/Test surfaces. */
body.as-objective-surface :is(.mcq-stem,.as-objective-stem,.pyq-question h2,.quiz8-question,.ts-question-text,[data-question-text],[data-question-stem]) .as-question-lead{
  display:block!important;
  margin:0 0 .7rem!important;
  min-width:0;
}
body.as-objective-surface :is(.mcq-stem,.as-objective-stem,.pyq-question h2,.quiz8-question,.ts-question-text,[data-question-text],[data-question-stem]) :is(.as-statement-list,.history-list-block,.pyq-statements){
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:.55rem!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:.75rem 0 1rem!important;
  padding:0!important;
}
body.as-objective-surface :is(.mcq-stem,.as-objective-stem,.pyq-question h2,.quiz8-question,.ts-question-text,[data-question-text],[data-question-stem]) :is(.as-statement-row,.history-list-item,.pyq-statement){
  display:grid!important;
  grid-template-columns:2.15rem minmax(0,1fr)!important;
  column-gap:.55rem!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.as-objective-surface :is(.mcq-stem,.as-objective-stem,.pyq-question h2,.quiz8-question,.ts-question-text,[data-question-text],[data-question-stem]) :is(.as-statement-number,.history-marker,.pyq-statement-number){
  grid-column:1!important;
  display:block!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:var(--ds-heading)!important;
  font:750 1em/1.8 var(--ds-font-body)!important;
  text-align:start!important;
  white-space:nowrap!important;
}
body.as-objective-surface :is(.mcq-stem,.as-objective-stem,.pyq-question h2,.quiz8-question,.ts-question-text,[data-question-text],[data-question-stem]) :is(.as-statement-copy,.history-list-item>div,.pyq-statement-copy){
  grid-column:2!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow-wrap:anywhere!important;
  font:inherit!important;
  line-height:inherit!important;
}
body.as-objective-surface :is(.mcq-stem,.as-objective-stem,.pyq-question h2,.quiz8-question,.ts-question-text,[data-question-text],[data-question-stem]) .as-statement-copy>:first-child{margin-top:0!important}
body.as-objective-surface :is(.mcq-stem,.as-objective-stem,.pyq-question h2,.quiz8-question,.ts-question-text,[data-question-text],[data-question-stem]) .as-statement-copy>:last-child{margin-bottom:0!important}
@media(max-width:520px){
  body.as-objective-surface :is(.mcq-stem,.as-objective-stem,.pyq-question h2,.quiz8-question,.ts-question-text,[data-question-text],[data-question-stem]) :is(.as-statement-row,.history-list-item,.pyq-statement){
    grid-template-columns:1.85rem minmax(0,1fr)!important;
    column-gap:.45rem!important;
  }
}
