/* SG Concursos · approved Option 2 practice tools inside the student workspace.
 * Intentionally scoped: public demos, ADMIN and printable question sheets retain
 * their own layout. Account preferences and study data are not changed by CSS.
 */
html .sg-internal-shell :is(.sg-questions, .sg-fc) {
  --q-navy: var(--sg-ink);
  --q-teal: var(--sg-link);
  --q-ink: var(--sg-ink);
  --q-muted: var(--sg-muted);
  --q-line: var(--sg-line);
  --fc-navy: var(--sg-ink);
  --fc-blue: var(--sg-link);
  --fc-muted: var(--sg-muted);
  --fc-line: var(--sg-line);
  color: var(--sg-ink);
  background: var(--sg-bg);
  font: 14px/1.6 var(--sg-font-family, Arial, Helvetica, sans-serif);
  min-height: 0;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
  border-radius: 0;
  color-scheme: inherit;
}
/* Preserve the existing return links and shortcuts as a compact sub-navigation. */
html .sg-internal-shell .sg-questions .q-header { display: flex; gap: 16px; padding: 0 0 14px; margin-bottom: 20px; border-color: var(--sg-line); }
html .sg-internal-shell .sg-questions .q-brand { max-width: 175px; }
html .sg-internal-shell .sg-questions .q-header a { font-size: 12px; }
html .sg-internal-shell .sg-fc .fc-header { display: flex; min-height: 58px; height: auto; padding: 10px 16px; margin-bottom: 20px; background: #092747; border: 1px solid #173e64; border-radius: var(--sg-control-radius, 12px); gap: 16px; }
html .sg-internal-shell .sg-fc .fc-header .fc-brand { max-width: 175px; }
html .sg-internal-shell .sg-fc .fc-header>span { font-size: 12px; padding-left: 16px; border-color: #456380; color: #c2d1e5; }
html .sg-internal-shell .sg-fc .fc-header>a:last-child { font-size: 12px; color: #fff; }
html .sg-internal-shell .sg-fc .fc-header .sg-brand-logo { background: transparent; padding: 0; border-radius: 0; }
html .sg-internal-shell :is(.sg-questions, .sg-fc) :is(h1,h2,h3,h4):not(.sg-page-title) { color: var(--sg-ink); }
html .sg-internal-shell :is(.sg-questions, .sg-fc) a { color: var(--sg-link); text-underline-offset: 3px; }
html .sg-internal-shell :is(.sg-questions, .sg-fc) a:hover { text-decoration: underline; }
html .sg-internal-shell :is(.sg-questions, .sg-fc) :focus-visible {
  outline: 3px solid var(--sg-accent);
  outline-offset: 3px;
}
html .sg-internal-shell :is(.sg-questions, .sg-fc) button {
  min-height: 44px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-control-radius, 12px);
  padding: 9px 13px;
  background: var(--sg-surface);
  color: var(--sg-ink);
  box-shadow: none;
  font: 600 14px/1.4 var(--sg-font-family, Arial, Helvetica, sans-serif);
}
html .sg-internal-shell :is(.sg-questions, .sg-fc) button:hover:not(:disabled) {
  background: var(--sg-soft);
  border-color: var(--sg-link);
  color: var(--sg-ink);
  box-shadow: none;
}
html .sg-internal-shell :is(.sg-questions, .sg-fc) button:active:not(:disabled) {
  background: color-mix(in srgb, var(--sg-link) 14%, var(--sg-surface));
}
html .sg-internal-shell :is(.sg-questions, .sg-fc) button:disabled { opacity: .55; cursor: not-allowed; }
html .sg-internal-shell :is(.sg-questions .q-primary, .sg-fc .fc-primary) {
  background: var(--sg-primary-gradient, linear-gradient(90deg, #a83e00, #be4900));
  border-color: #983805;
  color: #fff;
  border-radius: var(--sg-control-radius, 12px);
  box-shadow: none;
}
html .sg-internal-shell :is(.sg-questions .q-primary, .sg-fc .fc-primary):is(:hover,:active):not(:disabled) {
  background: var(--sg-primary-gradient, linear-gradient(90deg, #a83e00, #be4900));
  border-color: #983805;
  color: #fff;
  box-shadow: inset 0 0 0 2px #ffffff59;
}
html .sg-internal-shell :is(.sg-questions, .sg-fc) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  background: var(--sg-surface);
  color: var(--sg-ink);
  border: 1px solid var(--sg-field-border, var(--sg-muted));
  border-radius: var(--sg-control-radius, 12px);
  padding: 9px 11px;
  min-height: 44px;
  max-width: 100%;
  font: inherit;
  font-size: 16px;
}
html .sg-internal-shell :is(.sg-questions, .sg-fc) :is(input,textarea)::placeholder { color: var(--sg-muted); opacity: 1; }
html .sg-internal-shell :is(.sg-questions, .sg-fc) :is(input[type=checkbox], input[type=radio]) { accent-color: var(--sg-link); }

/* Questions: all five tabs share the same controls and reading surfaces. */
html .sg-internal-shell .sg-questions .q-title { padding: 0 0 18px; align-items: center; }
html .sg-internal-shell .sg-questions h1:not(.sg-page-title) { font-size: 28px; line-height: 1.2; letter-spacing: -.5px; margin: 5px 0 0; }
html .sg-internal-shell .sg-questions h2 { font-size: 21px; letter-spacing: -.25px; margin: 0 0 14px; }
html .sg-internal-shell .sg-questions h3 { font-size: 16px; margin: 18px 0 10px; }
html .sg-internal-shell .sg-questions .q-title>p { font-size: 14px; color: var(--sg-muted); }
html .sg-internal-shell .sg-questions .q-eyebrow { font-size: 10px; letter-spacing: .8px; color: var(--sg-link); }
html .sg-internal-shell .sg-questions .q-tabs { gap: 6px; margin-bottom: 18px; padding-bottom: 8px; border-color: var(--sg-line); }
html .sg-internal-shell .sg-questions .q-tabs>button { border: 1px solid var(--sg-line); border-radius: var(--sg-control-radius, 12px); background: var(--sg-surface); color: var(--sg-muted); padding: 10px 12px; font-size: 14px; }
html .sg-internal-shell .sg-questions .q-tabs>button[aria-current] { background: var(--sg-soft); border-color: var(--sg-link); color: var(--sg-link); box-shadow: inset 0 -3px 0 var(--sg-link); }
html .sg-internal-shell .sg-questions :is(.q-paper,.q-filters,.q-reading-tools) { background: var(--sg-surface); color: var(--sg-ink); border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius, 19px); box-shadow: none; }
html .sg-internal-shell .sg-questions .q-paper { padding: 24px; }
html .sg-internal-shell .sg-questions .q-filters { padding: 18px; margin-bottom: 20px; }
html .sg-internal-shell .sg-questions .q-reading-tools { display: flex; padding: 14px 16px; margin-bottom: 18px; gap: 12px; }
html .sg-internal-shell .sg-questions .q-reading-tools>label { min-width: 130px; }
html .sg-internal-shell .sg-questions :is(label,.q-select summary,.q-tool-label,.q-font-controls) { font-size: 14px; font-weight: 600; }
html .sg-internal-shell .sg-questions .q-tool-label { color: var(--sg-muted); }
html .sg-internal-shell .sg-questions .q-reading-tools select { border-color: var(--sg-field-border, var(--sg-muted)); }
html .sg-internal-shell .sg-questions .q-font-controls button { background: var(--sg-soft); border-color: var(--sg-line); color: var(--sg-ink); min-width: 44px; }
html .sg-internal-shell .sg-questions .q-filter-heading strong { color: var(--sg-ink); }
html .sg-internal-shell .sg-questions .q-filter-main { gap: 14px; }
html .sg-internal-shell .sg-questions .q-filter-grid { gap: 14px; }
html .sg-internal-shell .sg-questions .q-select summary>span { background: var(--sg-surface); border-color: var(--sg-field-border, var(--sg-muted)); color: var(--sg-ink); border-radius: var(--sg-control-radius, 12px); font-size: 16px; overflow-wrap: anywhere; }
html .sg-internal-shell .sg-questions .q-select-options { background: var(--sg-surface); border-color: var(--sg-line); color: var(--sg-ink); border-radius: var(--sg-card-radius, 19px); box-shadow: 0 10px 26px #071a3026; }
html .sg-internal-shell .sg-questions .q-check { font-size: 14px; line-height: 1.6; }
html .sg-internal-shell .sg-questions .q-select-options .q-check { min-height: 44px; align-items: center; }
html .sg-internal-shell .sg-questions :is(.q-more-filters>summary,.q-saved-filters>summary) { color: var(--sg-link); font-size: 14px; min-height: 44px; }
html .sg-internal-shell .sg-questions .q-chips button { background: var(--sg-soft); border-color: var(--sg-line); color: var(--sg-link); min-height: 44px; font-size: 14px; border-radius: var(--sg-control-radius, 12px); }
html .sg-internal-shell .sg-questions .q-saved-item { gap: 0; }
html .sg-internal-shell .sg-questions .q-saved-item button:first-child { border-radius: var(--sg-control-radius, 12px) 0 0 var(--sg-control-radius, 12px); }
html .sg-internal-shell .sg-questions .q-saved-item button:last-child { border-radius: 0 var(--sg-control-radius, 12px) var(--sg-control-radius, 12px) 0; }
html .sg-internal-shell .sg-questions .q-question-list { background: var(--sg-soft); border-color: var(--sg-line); }
html .sg-internal-shell .sg-questions .q-list-scroll button { background: var(--sg-surface); border-color: var(--sg-line); color: var(--sg-ink); }
html .sg-internal-shell .sg-questions .q-list-scroll button[aria-current] { border-color: var(--sg-link); border-left: 4px solid var(--sg-link); }
html .sg-internal-shell .sg-questions .q-meta { color: var(--sg-muted); gap: 6px; }
html .sg-internal-shell .sg-questions .q-meta span { background: var(--sg-soft); color: var(--sg-muted); font-size: 12px; border-radius: 4px; }
html .sg-internal-shell .sg-questions .q-meta span:first-child { background: var(--sg-soft); color: var(--sg-link); }
html .sg-internal-shell .sg-questions :is(.q-small,.q-question-facts,.q-click-hint,.q-section-heading p,.q-review-row small,.q-history small,.q-review-counts span,.q-metrics span,.q-select-options small,.q-filter-heading span,.q-strike-hint) { color: var(--sg-muted); }
html .sg-internal-shell .sg-questions .q-stem { line-height: 1.8; margin: 22px 0 !important; }
html .sg-internal-shell .sg-questions .q-options { gap: 6px; }
html .sg-internal-shell .sg-questions .q-options .q-answer-option { background: var(--sg-surface); color: var(--sg-ink); border-color: transparent; border-radius: var(--sg-control-radius, 12px); font-weight: 400; font-size: 1rem; padding: 13px 14px; }
html .sg-internal-shell .sg-questions .q-options .q-answer-option:hover:not(:disabled) { background: var(--sg-soft); color: var(--sg-ink); border-color: transparent; }
html .sg-internal-shell .sg-questions .q-options .q-answer-option b { background: transparent; border-color: var(--sg-field-border, var(--sg-muted)); color: var(--sg-muted); }
html .sg-internal-shell .sg-questions .q-options .q-answer-option.q-selected:not(.q-correct):not(.q-wrong) { background: var(--sg-soft); border-color: var(--sg-link); color: var(--sg-ink); box-shadow: inset 0 0 0 1px var(--sg-link); }
html .sg-internal-shell .sg-questions .q-options .q-answer-option.q-selected:not(.q-correct):not(.q-wrong) b { background: var(--sg-link); border-color: var(--sg-link); color: var(--sg-surface); }
/* Correct and incorrect answers always retain their semantic colours. */
html .sg-internal-shell .sg-questions .q-options .q-answer-option.q-correct { background: color-mix(in srgb, var(--sg-success) 11%, var(--sg-surface)); border-color: var(--sg-success); color: var(--sg-success); opacity: 1; }
html .sg-internal-shell .sg-questions .q-options .q-answer-option.q-wrong { background: color-mix(in srgb, var(--sg-danger) 9%, var(--sg-surface)); border-color: var(--sg-danger); color: var(--sg-danger); opacity: 1; }
html .sg-internal-shell .sg-questions .q-options .q-answer-option.q-correct b { background: var(--sg-success); border-color: var(--sg-success); color: var(--sg-surface); }
html .sg-internal-shell .sg-questions .q-options .q-answer-option.q-wrong b { background: var(--sg-danger); border-color: var(--sg-danger); color: var(--sg-surface); }
html .sg-internal-shell .sg-questions .q-options .q-strike-option { background: transparent; border-color: transparent; color: var(--sg-muted); border-radius: var(--sg-control-radius, 12px); padding: 0; }
html .sg-internal-shell .sg-questions .q-options .q-strike-option:hover:not(:disabled) { background: var(--sg-soft); border-color: transparent; color: var(--sg-link); }
html .sg-internal-shell .sg-questions .q-struck .q-option-text { text-decoration-color: var(--sg-muted); }
html .sg-internal-shell .sg-questions .q-option-row.q-swiping { background: var(--sg-soft); }
html .sg-internal-shell .sg-questions .q-option-row.q-swiping .q-answer-option { background: var(--sg-soft); }
html .sg-internal-shell .sg-questions .q-option-row.q-swiping .q-strike-option { color: var(--sg-link); }
html .sg-internal-shell .sg-questions :is(.q-feedback,.q-extras,.q-comment,.q-discussion-item,.q-comment-form,.q-set-builder,.q-set-heading,.q-review-row,.q-history-heading,.q-navigation-top,.q-navigation-bottom,.q-practice-actions) { border-color: var(--sg-line); }
html .sg-internal-shell .sg-questions :is(.q-tool-button,.q-feedback>button) { background: transparent; border-color: transparent; color: var(--sg-muted); font-weight: 500; font-size: 14px; box-shadow: none; }
html .sg-internal-shell .sg-questions :is(.q-tool-button,.q-feedback>button):hover:not(:disabled),
html .sg-internal-shell .sg-questions :is(.q-tool-button,.q-feedback>button)[aria-expanded=true] { background: var(--sg-soft); border-color: transparent; color: var(--sg-link); }
html .sg-internal-shell .sg-questions :is(.q-tool-button,.q-feedback>button)[aria-expanded=true] { border-color: var(--sg-link); }
html .sg-internal-shell .sg-questions .q-tool-button svg { color: inherit; }
html .sg-internal-shell .sg-questions :is(.q-feedback details>summary,.q-comment strong) { color: var(--sg-link); }
html .sg-internal-shell .sg-questions :is(.q-foundation,.q-discussion-item blockquote) { background: var(--sg-soft); border-color: var(--sg-link); color: var(--sg-ink); border-radius: 0 var(--sg-control-radius, 12px) var(--sg-control-radius, 12px) 0; }
html .sg-internal-shell .sg-questions .q-personal-note { border-color: var(--sg-line); }
html .sg-internal-shell .sg-questions .q-empty { background: var(--sg-soft); border: 1px dashed var(--sg-line); color: var(--sg-muted); border-radius: var(--sg-card-radius, 19px); padding: 24px 18px; }
html .sg-internal-shell .sg-questions .q-notice { background: var(--sg-soft); border-color: var(--sg-line); color: var(--sg-ink); border-radius: var(--sg-control-radius, 12px); font-size: 14px; }
html .sg-internal-shell .sg-questions .q-notice.q-error { background: color-mix(in srgb, var(--sg-danger) 8%, var(--sg-surface)); border-color: var(--sg-danger); color: var(--sg-danger); }
html .sg-internal-shell .sg-questions :is(.q-notice.q-preliminary,.q-conflict) { background: color-mix(in srgb, var(--sg-warning) 10%, var(--sg-surface)); border-color: var(--sg-warning); color: var(--sg-warning); }
html .sg-internal-shell .sg-questions .q-status { color: var(--sg-success); }
html .sg-internal-shell .sg-questions p[role=alert] { color: var(--sg-danger); }
html .sg-internal-shell .sg-questions .q-session-status { background: var(--sg-soft); border-color: var(--sg-line); color: var(--sg-muted); }
html .sg-internal-shell .sg-questions :is(.q-review-counts,.q-metrics) { gap: 12px; margin: 20px 0; }
html .sg-internal-shell .sg-questions :is(.q-review-counts button,.q-metrics article) { background: var(--sg-soft); border: 1px solid var(--sg-line); color: var(--sg-ink); border-radius: var(--sg-control-radius, 12px); padding: 16px; }
html .sg-internal-shell .sg-questions .q-review-counts button[aria-pressed=true] { border-color: var(--sg-link); box-shadow: inset 0 -3px 0 var(--sg-link); }
html .sg-internal-shell .sg-questions :is(.q-review-counts strong,.q-metrics strong) { color: var(--sg-ink); font-size: 28px; font-variant-numeric: tabular-nums; }
html .sg-internal-shell .sg-questions .q-bar { background: var(--sg-soft); }
html .sg-internal-shell .sg-questions .q-bar span { background: var(--sg-link); }
html .sg-internal-shell .sg-questions .q-trend-bars>div { background: color-mix(in srgb, var(--sg-muted) 32%, var(--sg-surface)); }
html .sg-internal-shell .sg-questions .q-trend-bars>div>span { background: var(--sg-success); }
html .sg-internal-shell .sg-questions :is(.q-trend-labels,.q-trend-table) { color: var(--sg-muted); }
html .sg-internal-shell .sg-questions .q-trend-table th { background: var(--sg-soft); color: var(--sg-ink); }
html .sg-internal-shell .sg-questions .q-history button { background: transparent; color: var(--sg-ink); border-color: var(--sg-line); border-radius: 0; }
html .sg-internal-shell .sg-questions .q-exam-timer { color: var(--sg-accent); }
html .sg-internal-shell .sg-questions .q-footer { color: var(--sg-muted); font-size: 12px; margin-top: 24px; }
html .sg-internal-shell .sg-questions .q-review-dialog { background: var(--sg-surface); color: var(--sg-ink); border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius, 19px); padding: 24px; font: 14px/1.6 var(--sg-font-family, Arial, Helvetica, sans-serif); }
html .sg-internal-shell .sg-questions .q-review-dialog::backdrop { background: #071a30b3; }
html .sg-internal-shell .sg-questions .q-review-dialog h2 { color: var(--sg-ink); font-size: 21px; }

/* Flashcards: same visual system, with the original swipe and answer controls. */
html .sg-internal-shell .sg-fc .fc-main { max-width: 1160px; padding: 0; }
html .sg-internal-shell .sg-fc .fc-heading { margin-bottom: 18px; gap: 16px; }
html .sg-internal-shell .sg-fc .fc-heading h1:not(.sg-page-title) { font-size: 28px; line-height: 1.2; font-weight: 700; letter-spacing: -.5px; margin: 0; }
html .sg-internal-shell .sg-fc .fc-heading h1:not(.sg-page-title) span { color: var(--sg-ink); }
html .sg-internal-shell .sg-fc .fc-heading>button { background: var(--sg-surface); border-color: var(--sg-line); border-radius: var(--sg-control-radius, 12px); color: var(--sg-ink); font-size: 14px !important; min-height: 44px; }
html .sg-internal-shell .sg-fc :is(.fc-subtitle,.fc-active-scope,.fc-available,.fc-explore,.fc-eyebrow,.fc-your-answer,.fc-result-line,.fc-foundation .fc-comment,.fc-question-prompt,.fc-hint,.fc-save,.fc-session-actions,.fc-footer,.fc-statistics,.fc-config>p,.fc-complete p) { color: var(--sg-muted); }
html .sg-internal-shell .sg-fc .fc-subtitle { font-size: 14px; }
html .sg-internal-shell .sg-fc .fc-explore { padding: 12px 16px; border: 1px solid var(--sg-line); border-radius: var(--sg-control-radius, 12px); background: var(--sg-surface); margin-bottom: 22px; font-size: 12px; }
html .sg-internal-shell .sg-fc .fc-explore-active { background: var(--sg-soft); border-color: var(--sg-link); }
html .sg-internal-shell .sg-fc .fc-explore button { background: var(--sg-soft); color: var(--sg-link); border-color: var(--sg-line); border-radius: var(--sg-control-radius, 12px); min-height: 40px; font-size: 12px; }
html .sg-internal-shell .sg-fc .fc-meta { color: var(--sg-ink); font-size: 14px; }
html .sg-internal-shell .sg-fc .fc-meta>span:last-child { color: var(--sg-link); }
html .sg-internal-shell .sg-fc .fc-progress { background: var(--sg-line); margin-bottom: 20px; }
html .sg-internal-shell .sg-fc .fc-progress>span { background: var(--sg-accent); }
html .sg-internal-shell .sg-fc .fc-card-shell { padding-inline: 88px; }
html .sg-internal-shell .sg-fc :is(.fc-card,.fc-config) { background: var(--sg-surface); color: var(--sg-ink); border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius, 19px); padding: 26px; box-shadow: none; }
html .sg-internal-shell .sg-fc .fc-card .fc-statement { font: 600 24px/1.5 var(--sg-font-family, Arial, Helvetica, sans-serif); letter-spacing: -.4px; margin: 30px 0 24px; }
html .sg-internal-shell .sg-fc .fc-kind { background: var(--sg-soft); color: var(--sg-link); border-radius: 6px; padding: 5px 9px; font-size: 12px; }
html .sg-internal-shell .sg-fc .fc-question-prompt { border-color: var(--sg-line); font-size: 14px; }
html .sg-internal-shell .sg-fc .fc-choices button { padding: 0; border: 0 !important; box-shadow: none; min-width: 74px; background: none !important; font-size: 12px; }
html .sg-internal-shell .sg-fc .fc-choice-icon { width: 64px; height: 64px; box-shadow: none; }
html .sg-internal-shell .sg-fc .fc-choice-no { color: var(--sg-danger) !important; }
html .sg-internal-shell .sg-fc .fc-choice-yes { color: var(--sg-success) !important; }
html .sg-internal-shell .sg-fc .fc-choice-no .fc-choice-icon { background: #b52d3c; color: #fff; }
html .sg-internal-shell .sg-fc .fc-choice-yes .fc-choice-icon { background: #137447; color: #fff; }
html .sg-internal-shell .sg-fc .fc-choice-no:hover:not(:disabled) .fc-choice-icon { background: #972633; }
html .sg-internal-shell .sg-fc .fc-choice-yes:hover:not(:disabled) .fc-choice-icon { background: #105c3a; }
html .sg-internal-shell .sg-fc .fc-swipe-yes { border-color: var(--sg-success); box-shadow: 0 0 0 2px var(--sg-success); }
html .sg-internal-shell .sg-fc .fc-swipe-no { border-color: var(--sg-danger); box-shadow: 0 0 0 2px var(--sg-danger); }
html .sg-internal-shell .sg-fc .fc-swipe-stamp.yes { background: var(--sg-surface); color: var(--sg-success); }
html .sg-internal-shell .sg-fc .fc-swipe-stamp.no { background: var(--sg-surface); color: var(--sg-danger); }
html .sg-internal-shell .sg-fc .fc-card .sg-answer-feedback { border: 1px solid currentColor; border-radius: var(--sg-control-radius, 12px); }
html .sg-internal-shell .sg-fc .fc-card .sg-answer-correct { color: var(--sg-success); background: color-mix(in srgb, var(--sg-success) 11%, var(--sg-surface)); }
html .sg-internal-shell .sg-fc .fc-card .sg-answer-wrong { color: var(--sg-danger); background: color-mix(in srgb, var(--sg-danger) 9%, var(--sg-surface)); }
html .sg-internal-shell .sg-fc .fc-card .sg-answer-feedback strong { font-size: 18px; }
html .sg-internal-shell .sg-fc :is(.fc-result-line strong,.fc-available strong,.fc-statistics b) { color: var(--sg-ink); }
html .sg-internal-shell .sg-fc .fc-card .fc-answer-title { font: 700 21px/1.35 var(--sg-font-family, Arial, Helvetica, sans-serif); }
html .sg-internal-shell .sg-fc .fc-foundation { color: var(--sg-ink); font-size: 14px; }
html .sg-internal-shell .sg-fc .fc-foundation blockquote { background: var(--sg-soft); color: var(--sg-ink); border-left: 3px solid var(--sg-link); border-radius: 0 var(--sg-control-radius, 12px) var(--sg-control-radius, 12px) 0; padding: 16px; }
html .sg-internal-shell .sg-fc .fc-foundation blockquote :is(strong,svg) { color: var(--sg-link); }
html .sg-internal-shell .sg-fc .fc-foundation :is(a,dd) { overflow-wrap: anywhere; }
html .sg-internal-shell .sg-fc :is(.fc-full-article,.fc-original,.fc-review-summary,.fc-footer) { border-color: var(--sg-line); }
html .sg-internal-shell .sg-fc .fc-full-article { border-radius: var(--sg-control-radius, 12px); }
html .sg-internal-shell .sg-fc .fc-full-article summary { color: var(--sg-link); min-height: 44px; }
html .sg-internal-shell .sg-fc :is(.fc-original,.fc-footer) summary { min-height: 44px; padding-block: 10px; }
html .sg-internal-shell .sg-fc .fc-star { background: var(--sg-surface); border-color: var(--sg-line); color: var(--sg-link); border-radius: var(--sg-control-radius, 12px); }
html .sg-internal-shell .sg-fc .fc-star.is-saved { background: color-mix(in srgb, var(--sg-warning) 10%, var(--sg-surface)); border-color: var(--sg-warning); color: var(--sg-warning); }
html .sg-internal-shell .sg-fc .fc-session-actions button { background: transparent; border-color: transparent; color: var(--sg-muted); font-size: 12px; }
html .sg-internal-shell .sg-fc .fc-session-actions button:hover:not(:disabled) { background: var(--sg-soft); color: var(--sg-link); }
html .sg-internal-shell .sg-fc .fc-save { font-size: 12px; min-height: 22px; margin-block: 6px 14px !important; }
html .sg-internal-shell .sg-fc .fc-statistics { font-size: 12px; gap: 18px; }
html .sg-internal-shell .sg-fc .fc-statistics b { font-size: 14px; }
html .sg-internal-shell .sg-fc .fc-filters { margin-top: 16px; }
html .sg-internal-shell .sg-fc .fc-filters label { color: var(--sg-muted); font-size: 14px; }
html .sg-internal-shell .sg-fc .fc-review-summary strong { color: var(--sg-ink); }
html .sg-internal-shell .sg-fc .fc-complete h2 { font: 700 24px/1.35 var(--sg-font-family, Arial, Helvetica, sans-serif); }
html .sg-internal-shell .sg-fc .fc-error { color: var(--sg-danger); background: color-mix(in srgb, var(--sg-danger) 8%, var(--sg-surface)); border: 1px solid var(--sg-danger); border-radius: var(--sg-control-radius, 12px); padding: 14px 18px; }
html .sg-internal-shell .sg-fc .fc-footer { font-size: 13px; margin-top: 26px; }
html .sg-internal-shell .sg-fc :is(.fc-active-scope,.fc-available,.fc-review-summary span,.fc-complete .fc-next-review,.fc-manual-hint,.fc-guidance,.fc-result-line,.fc-foundation .fc-comment) { font-size: 14px; }
html .sg-internal-shell .sg-fc .fc-skip { background: var(--sg-surface); color: var(--sg-link); border: 2px solid var(--sg-accent); z-index: 100; }
html .sg-internal-shell .fc-guard { max-width: 720px; margin: 0; padding: 24px; background: var(--sg-surface); color: var(--sg-ink); border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius, 19px); font: 14px/1.6 var(--sg-font-family, Arial, Helvetica, sans-serif); }
html .sg-internal-shell .fc-guard h1 { font-size: 26px; color: var(--sg-ink); }
html .sg-internal-shell .fc-guard a { color: var(--sg-link); }

/* Private demo envelope. Its isolated iframe receives this stylesheet separately. */
html .sg-internal-shell :is(.flashcards-demo-shell,.flashcards-demo-denied) { min-height: 0; background: var(--sg-bg); color: var(--sg-ink); font: 14px/1.6 var(--sg-font-family, Arial, Helvetica, sans-serif); }
html .sg-internal-shell .flashcards-demo-shell>header { background: var(--sg-surface); color: var(--sg-ink); border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius, 19px); padding: 20px; gap: 18px; }
html .sg-internal-shell :is(.flashcards-demo-shell,.flashcards-demo-denied) h1 { color: var(--sg-ink); font-size: 24px; letter-spacing: -.3px; }
html .sg-internal-shell .flashcards-demo-shell .fdemo-eyebrow { color: var(--sg-link); }
html .sg-internal-shell .flashcards-demo-shell :is(.fdemo-shell-actions legend,.fdemo-shell-notice) { color: var(--sg-muted); }
html .sg-internal-shell .flashcards-demo-shell button { min-height: 44px; background: var(--sg-surface); color: var(--sg-ink); border: 1px solid var(--sg-line); border-radius: var(--sg-control-radius, 12px); font: 600 12px/1.4 Arial, Helvetica, sans-serif; }
html .sg-internal-shell .flashcards-demo-shell button:hover { background: var(--sg-soft); border-color: var(--sg-link); }
html .sg-internal-shell .flashcards-demo-shell button[aria-pressed=true] { background: var(--sg-accent); color: var(--sg-accent-text); border-color: var(--sg-accent); }
html .sg-internal-shell .flashcards-demo-shell :focus-visible { outline: 3px solid var(--sg-accent); outline-offset: 3px; }
html .sg-internal-shell .flashcards-demo-shell .fdemo-shell-notice { padding: 12px 0; font-size: 12px; }
html .sg-internal-shell .flashcards-demo-shell .fdemo-frame-stage { padding: 0; }
html .sg-internal-shell .flashcards-demo-shell .fdemo-frame-stage iframe { background: var(--sg-surface); border-color: var(--sg-line); border-radius: var(--sg-card-radius, 19px); box-shadow: none; }
html .sg-internal-shell .flashcards-demo-shell .fdemo-reset { background: color-mix(in srgb, var(--sg-warning) 10%, var(--sg-surface)); color: var(--sg-warning); border: 1px solid var(--sg-warning); border-radius: var(--sg-control-radius, 12px); padding: 16px; margin-top: 14px; }
html .sg-internal-shell .flashcards-demo-denied { max-width: 720px; margin: 0; padding: 24px; border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius, 19px); background: var(--sg-surface); }
html .sg-internal-shell .flashcards-demo-denied a { color: var(--sg-link); }

@media (max-width: 1100px) {
  html .sg-internal-shell .sg-questions .q-filter-main { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html .sg-internal-shell .sg-questions .q-filter-main>label:first-child { grid-column: 1 / -1; }
  html .sg-internal-shell .sg-questions .q-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html .sg-internal-shell .sg-fc .fc-card-shell { padding-inline: 0; }
  html .sg-internal-shell .sg-fc .fc-choices { position: static; max-width: 720px; margin: 16px auto 0; gap: 12px; display: grid; grid-template-columns: 1fr 1fr; }
  html .sg-internal-shell .sg-fc .fc-choices button { flex-direction: row; min-height: 56px; border-radius: var(--sg-control-radius, 12px); font-size: 14px; text-transform: none; color: #fff !important; }
  html .sg-internal-shell .sg-fc .fc-choices .fc-choice-no { background: #b52d3c !important; }
  html .sg-internal-shell .sg-fc .fc-choices .fc-choice-yes { background: #137447 !important; }
  html .sg-internal-shell .sg-fc .fc-choices .fc-choice-no:hover:not(:disabled) { background: #972633 !important; }
  html .sg-internal-shell .sg-fc .fc-choices .fc-choice-yes:hover:not(:disabled) { background: #105c3a !important; }
  html .sg-internal-shell .sg-fc .fc-choice-icon { width: 30px; height: 30px; background: none !important; box-shadow: none; }
  html .sg-internal-shell .sg-fc .fc-choices button:hover .fc-choice-icon { transform: none; box-shadow: none; }
}
@media (max-width: 700px) {
  html .sg-internal-shell .sg-questions { padding-bottom: calc(6rem + env(safe-area-inset-bottom,0px)); }
  html .sg-internal-shell .sg-questions h1, html .sg-internal-shell .sg-fc .fc-heading h1:not(.sg-page-title) { font-size: 25px; }
  html .sg-internal-shell .sg-questions .q-title { padding-bottom: 16px; }
  html .sg-internal-shell .sg-questions .q-tabs { gap: 4px; }
  html .sg-internal-shell .sg-questions .q-tabs>button { padding: 10px; font-size: 14px; }
  html .sg-internal-shell .sg-questions .q-reading-tools { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 14px 12px; gap: 12px; }
  html .sg-internal-shell .sg-questions .q-reading-tools>label { min-width: 0; }
  html .sg-internal-shell .sg-questions :is(.q-filter-main,.q-filter-grid,.q-filter-search) { grid-template-columns: 1fr; }
  html .sg-internal-shell .sg-questions :is(.q-paper,.q-filters) { padding: 18px 12px; }
  html .sg-internal-shell .sg-questions .q-select-options { box-shadow: none; }
  html .sg-internal-shell .sg-questions .q-options .q-answer-option { padding: 11px 8px; gap: 9px; }
  html .sg-internal-shell .sg-questions .q-question-tools>.q-tool-button { font-size: 14px; padding: 9px 6px; }
  html .sg-internal-shell .sg-questions .q-navigation-bottom { background: var(--sg-surface); color: var(--sg-ink); border-color: var(--sg-line); box-shadow: 0 -3px 16px #071a3014; }
  html .sg-internal-shell .sg-questions :is(.q-review-counts,.q-metrics) { gap: 8px; }
  html .sg-internal-shell .sg-questions :is(.q-review-counts button,.q-metrics article) { padding: 12px 9px; }
  html .sg-internal-shell .sg-questions :is(.q-review-counts strong,.q-metrics strong) { font-size: 23px; }
  html .sg-internal-shell .sg-questions :is(.q-review-counts span,.q-metrics span) { font-size: 12px; }
  html .sg-internal-shell .sg-questions .q-review-dialog { padding: 20px; }
  html .sg-internal-shell .sg-fc .fc-heading { align-items: flex-start; gap: 10px; }
  html .sg-internal-shell .sg-fc .fc-heading>button { min-width: 44px; width: auto; max-width: 135px; padding: 9px; white-space: normal; }
  html .sg-internal-shell .sg-fc .fc-heading>button svg { flex-shrink: 0; }
  html .sg-internal-shell .sg-fc .fc-heading h1 span { display: inline; }
  html .sg-internal-shell .sg-fc .fc-explore { padding: 12px; flex-wrap: wrap; gap: 8px; font-size: 12px; }
  html .sg-internal-shell .sg-fc .fc-explore>span { max-width: none; }
  html .sg-internal-shell .sg-fc :is(.fc-card,.fc-config) { padding: 20px 16px; border-radius: var(--sg-card-radius, 19px); }
  html .sg-internal-shell .sg-fc .fc-card .fc-statement { font-size: 21px; min-height: 140px; margin: 26px 0 20px; }
  html .sg-internal-shell .sg-fc .fc-result-actions { flex-wrap: wrap; }
  html .sg-internal-shell .sg-fc .fc-result-actions>button { flex: 1 1 130px; max-width: none; font-size: 14px; }
  html .sg-internal-shell .sg-fc .fc-session-actions { gap: 6px; }
  html .sg-internal-shell .sg-fc .fc-session-actions button { padding-inline: 6px; font-size: 12px; }
  html .sg-internal-shell .sg-fc .fc-foundation blockquote { padding: 12px; gap: 9px; }
  html .sg-internal-shell .sg-fc .fc-foundation dl { grid-template-columns: minmax(65px,auto) minmax(0,1fr); gap: 6px 10px; }
  html .sg-internal-shell .sg-fc .fc-statistics { gap: 12px; }
  html .sg-internal-shell .sg-fc .fc-statistics span { max-width: 120px; }
  html .sg-internal-shell .sg-fc .fc-statistics b { display: block; }
}
@media (max-width: 380px) {
  html .sg-internal-shell .sg-questions .q-reading-tools { grid-template-columns: 1fr; }
  html .sg-internal-shell .sg-questions :is(.q-review-counts,.q-metrics) { grid-template-columns: 1fr; }
  html .sg-internal-shell .sg-fc .fc-heading { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  html .sg-internal-shell :is(.sg-questions,.sg-fc) *,
  html .sg-internal-shell :is(.sg-questions,.sg-fc) *::before,
  html .sg-internal-shell :is(.sg-questions,.sg-fc) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  html .sg-internal-shell .sg-fc .fc-card { transform: none !important; }
}
@media (forced-colors: active) {
  html .sg-internal-shell :is(.sg-questions,.sg-fc) :focus-visible { outline-color: Highlight; }
  html .sg-internal-shell :is(.sg-questions .q-primary,.sg-fc .fc-primary) { background: ButtonFace; color: ButtonText; border-color: ButtonText; }
  html .sg-internal-shell .sg-questions .q-tabs>button[aria-current],
  html .sg-internal-shell .sg-questions .q-options .q-answer-option.q-selected:not(.q-correct):not(.q-wrong) { border: 2px solid Highlight; }
  html .sg-internal-shell .sg-questions .q-options :is(.q-answer-option.q-correct,.q-answer-option.q-wrong) { border: 2px solid CanvasText; }
  html .sg-internal-shell .sg-fc :is(.fc-swipe-yes,.fc-swipe-no) { outline: 2px solid Highlight; }
}

/* Comments SG is a deliberate accent, not a generic action button. */
html .sg-internal-shell .sg-questions button.q-comments-toggle.q-comments-available {
  border: 2px solid #cf811a; background: var(--sg-soft, #edf3f9);
  color: var(--sg-ink, #142d4e); box-shadow: 0 3px 0 #cf811a;
}
html .sg-internal-shell .sg-questions button.q-comments-toggle.q-comments-available:hover:not(:disabled) {
  border-color: #cf811a; background: var(--sg-soft, #edf3f9);
  color: var(--sg-ink, #142d4e); box-shadow: 0 3px 0 #cf811a;
}
