/* Flow-only layout; shared NumberLogic choices and Flow ambient paint stay intact. */
.flow-sequences { overflow-anchor:none; }
.flow-sequences .oa-lobby-content { width:min(100%,940px); }
.flow-sequences .oa-primary { cursor:pointer; }
.flow-sequences .oa-primary:disabled { opacity:.65; }
.flow-sequences .fs-exam {
    grid-template-columns:106px minmax(0,900px) 106px;
    grid-template-rows:auto minmax(min-content,1fr) auto;
    justify-content:center; column-gap:24px;
}
.flow-sequences .oa-exam-header { grid-column:1 / -1; }
.flow-sequences .oa-exam-header h1 span { color:var(--oa-accent); }
.flow-sequences .oa-exam-centre { grid-column:2; grid-row:2; padding:24px 0; }
.flow-sequences .oa-exam-bottom { grid-column:1 / -1; grid-row:3; }
.flow-sequences .fs-navigation { grid-column:1; grid-row:2; align-self:center; width:106px; }
.flow-sequences .fs-map-disclosure { width:100%; }
.flow-sequences .fs-map-disclosure > summary { display:none; }
.flow-sequences .fs-question-map { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.flow-sequences .fs-question-map button { position:relative; min-height:40px; padding:4px; border:1px solid #ccd5ee; border-radius:7px; background:#fff; color:#65718a; font:inherit; font-size:13px; cursor:pointer; }
.flow-sequences .fs-question-map button[data-answered="true"] { background:#e9eeff; border-color:#bbc8ff; color:var(--oa-accent-dark); }
.flow-sequences .fs-question-map button[data-visited="true"]::after { content:""; position:absolute; bottom:3px; left:calc(50% - 2px); width:4px; height:4px; border-radius:50%; background:currentColor; }
.flow-sequences .fs-question-map button[aria-current] { outline:2px solid var(--oa-accent); outline-offset:1px; color:var(--oa-ink); }
.flow-sequences button:focus-visible,.flow-sequences summary:focus-visible { outline:3px solid var(--oa-accent); outline-offset:3px; }
.flow-sequences .fs-question-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:28px; }
.flow-sequences .fs-question-actions button { min-width:100px; }
.flow-sequences .fs-message { width:min(100% - 32px,720px); margin:16px auto; padding:16px; border:1px solid #dfb7ad; border-radius:10px; background:#fff8f5; color:#874a37; font-size:13px; text-align:center; }
.flow-sequences .fs-message p { margin:0 0 12px; }
.flow-sequences .fs-review-options { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; }
.flow-sequences .fs-review-options li { padding:8px 14px; border:1px solid var(--oa-line); border-radius:8px; font-size:14px; }
.flow-sequences .fs-review-options .fs-correct-choice { border-color:#008458; color:#008458; }
.flow-sequences .oa-review-expression { word-spacing:5px; line-height:1.65; }
.flow-sequences .fs-history { min-height:70vh; }
.flow-sequences .oa-result { min-height:calc(100dvh - var(--oa-header-height,78px)); display:flex; flex-direction:column; justify-content:center; }
.flow-sequences .oa-result-metrics { width:min(100%,620px); }
.flow-sequences .oa-result-primary { align-self:center; }
.flow-sequences .oa-exam-answer .nl-term::after { content:none; }
@media(min-width:1001px) {
    .flow-sequences .fs-map-disclosure:not([open]) > :not(summary) { display:grid; }
}
@media(max-width:1000px) {
    .flow-sequences .fs-exam { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(min-content,1fr) auto; }
    .flow-sequences .fs-navigation { grid-column:1; grid-row:2; justify-self:center; width:min(100%,420px); }
    .flow-sequences .fs-map-disclosure > summary { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; min-height:44px; align-items:center; color:var(--oa-accent-dark); font-size:13px; cursor:pointer; }
    .flow-sequences .fs-question-map { grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; padding-top:12px; }
    .flow-sequences .fs-question-map button { min-height:44px; }
    .flow-sequences .oa-exam-centre { grid-column:1; grid-row:3; }
    .flow-sequences .oa-exam-bottom { grid-column:1; grid-row:4; }
}
@media(max-width:620px) {
    .flow-sequences .fs-question-actions { gap:8px; margin-top:20px; }
    .flow-sequences .fs-question-actions button { min-width:85px; padding-inline:12px; }
}

/* Motion comes from the exact shared Optiver Visual and ResultView lifecycle. */
.flow-sequences [data-exam-title]:focus, .flow-sequences #flow-information:focus, .flow-sequences #flow-breakdown:focus, .flow-sequences [data-flow-question]:focus { outline:none; }
.flow-sequences #flow-information, .flow-sequences #flow-breakdown { scroll-margin-top:calc(var(--oa-header-height,78px) + 20px); }

/* Keep the same explicit two-line title through the shared heading transitions. */
.flow-sequences.oa-app.oa-standard h1 .oa-title-line { white-space:nowrap; }
.flow-sequences.oa-app.oa-standard .oa-result h1 { font-size:clamp(20px,3.2vw,36px); }
