.practice-setup{display:grid;gap:16px}.bank-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bank-summary>div{padding:13px;border:1px solid var(--line);border-radius:14px;background:#f7fafc}.bank-summary span{display:block;color:var(--muted);font-size:.8rem}.bank-summary strong{display:block;color:var(--navy);font-size:1.45rem}.practice-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.practice-controls label{display:grid;gap:6px;font-weight:850;color:var(--navy)}.practice-controls select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 11px;color:var(--ink)}.mode-notice{padding:13px 14px;border-radius:14px;border:1px solid var(--line);line-height:1.55}.mode-notice.learner{background:#edf8f3;border-color:#9bcdb1;color:#245d3d}.practice-session{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px;align-items:start}.question-card{padding:22px}.question-meta{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}.question-meta-group{display:flex;gap:7px;flex-wrap:wrap}.question-prompt{font-size:1.18rem;font-weight:850;line-height:1.5;margin:18px 0}.practice-choices{display:grid;gap:10px}.practice-choice{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:start;text-align:left;border:2px solid var(--line);border-radius:14px;background:#fff;padding:12px;color:var(--ink);box-shadow:none;cursor:pointer;touch-action:manipulation}.practice-choice:hover{border-color:#8ebbd0;background:#f7fcfe}.practice-choice.selected{border-color:var(--blue);background:var(--sky)}.practice-choice.correct{border-color:#71b48d;background:#e8f6ee}.practice-choice.incorrect{border-color:#d17f89;background:#fff0f1}.choice-marker{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eaf3f8;color:var(--navy);font-weight:950}.practice-question-tools{margin-top:14px}.practice-question-action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding-top:13px}.practice-question-action-row .btn.active{border-color:var(--teal);background:#edf8f3;color:#245d3d}.practice-question-action-status{flex-basis:100%;min-height:1.25em;color:var(--muted);font-size:.84rem}.answer-feedback{margin-top:14px;border-radius:14px;padding:14px;border:1px solid}.answer-feedback.correct{background:#e8f6ee;border-color:#88c39f;color:#185c3a}.answer-feedback.incorrect{background:#fff2e8;border-color:#d7a36f;color:#704518}.answer-feedback p{margin:.45rem 0}.feedback-resources{margin-top:13px;padding-top:12px;border-top:1px dashed currentColor}.feedback-resources h4{margin:0 0 7px;font-size:.9rem}.feedback-resources ul{display:grid;gap:5px;margin:0;padding-left:1.2rem}.feedback-resources li{font-size:.86rem}.question-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:15px}.session-rail{display:grid;gap:12px;position:sticky;top:84px}.session-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.session-stat{border:1px solid var(--line);border-radius:13px;background:#f7fafc;padding:10px}.session-stat span{display:block;color:var(--muted);font-size:.78rem}.session-stat strong{display:block;font-size:1.35rem;color:var(--navy)}.rail-note{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted);line-height:1.45}.session-complete{text-align:center;padding:28px}.complete-score{font-size:3.2rem;font-weight:950;color:var(--navy);line-height:1}.complete-percent{font-size:1.25rem;font-weight:850;color:var(--teal);margin-top:7px}.error{border-left-color:var(--red)!important;background:#fff0f1!important;color:#7a2635!important}.practice-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #b9ced9;border-radius:50%;background:#fff;color:var(--navy);font-size:1.65rem;line-height:1;cursor:pointer;touch-action:manipulation}.practice-close:hover{border-color:var(--blue);background:var(--sky)}.practice-session:not(.hidden){position:fixed;inset:0;z-index:1200;margin:0!important;max-width:none!important;grid-template-columns:minmax(0,780px) 250px;justify-content:center;align-content:start;gap:16px;padding:clamp(12px,3vw,32px);overflow:auto;overscroll-behavior:contain;background:rgba(7,25,45,.78);backdrop-filter:blur(4px)}.practice-session:not(.hidden)>.question-card,.practice-session:not(.hidden)>.session-rail>.card,.practice-session:not(.hidden)>.session-complete{box-shadow:0 28px 70px rgba(0,0,0,.3)}.practice-session:not(.hidden)>.question-card{width:100%;border-radius:20px;background:#fff}.practice-session:not(.hidden)>.session-rail{top:12px}.practice-session:not(.hidden)>.session-complete{grid-column:1/-1;width:min(720px,100%);justify-self:center;background:#fff}.practice-session:not(.hidden) .practice-choice{min-height:52px}.practice-session:not(.hidden) .btn{touch-action:manipulation}@media(max-width:1100px){.practice-controls{grid-template-columns:1fr 1fr}}@media(max-width:900px){.practice-session{grid-template-columns:1fr}.session-rail{position:static;grid-row:1}.bank-summary{grid-template-columns:1fr}.question-card{padding:17px}.practice-session:not(.hidden){grid-template-columns:minmax(0,760px);justify-content:center}.practice-session:not(.hidden)>.session-rail{grid-row:auto;grid-template-columns:1fr 1fr}}@media(max-width:1100px){.practice-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.practice-session:not(.hidden){display:block;padding:0;background:#f7fbfd;backdrop-filter:none}.practice-session:not(.hidden)>.question-card{min-height:100dvh;border:0;border-radius:0;box-shadow:none;padding:calc(14px + env(safe-area-inset-top)) 14px calc(92px + env(safe-area-inset-bottom))}.practice-session:not(.hidden)>.session-rail{display:none}.practice-session:not(.hidden)>.session-complete{min-height:100dvh;width:100%;border:0;border-radius:0;box-shadow:none;padding:calc(32px + env(safe-area-inset-top)) 18px calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center}.practice-session:not(.hidden) .question-meta{position:sticky;top:0;z-index:5;margin:-14px -14px 14px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.practice-session:not(.hidden) .question-prompt{font-size:clamp(1.15rem,4.8vw,1.4rem);line-height:1.42;margin:16px 0}.practice-session:not(.hidden) .practice-choice{min-height:58px;padding:13px 12px;font-size:1rem;line-height:1.4}.practice-session:not(.hidden) .choice-marker{width:34px;height:34px}.practice-session:not(.hidden) .question-actions{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px -14px calc(-92px - env(safe-area-inset-bottom));padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(247,251,253,.98);border-top:1px solid var(--line)}.practice-session:not(.hidden) .question-actions .btn{width:100%;min-height:48px}.practice-session:not(.hidden) .practice-question-action-row{display:grid;grid-template-columns:1fr 1fr}.practice-session:not(.hidden) .practice-question-action-row .btn{width:100%;min-height:46px}.practice-session:not(.hidden) .practice-question-action-status{grid-column:1/-1}.practice-close{width:44px;height:44px;flex-basis:44px}}@media(max-width:650px){.practice-controls{grid-template-columns:1fr}}@media(max-width:560px){.question-actions,.practice-question-action-row{display:grid;grid-template-columns:1fr}.question-actions button,.practice-question-action-row .btn{width:100%}.practice-choice{grid-template-columns:34px minmax(0,1fr);padding:11px}.question-prompt{font-size:1.08rem}.practice-question-action-status{grid-column:1}.practice-session:not(.hidden) .question-actions{grid-template-columns:1fr 1fr}.practice-session:not(.hidden) .practice-question-action-row{grid-template-columns:1fr}.practice-session:not(.hidden) .practice-question-action-status{grid-column:1}}

/* Practice completion hierarchy: one obvious answer/next/submit action, quieter utilities. */
.question-actions{justify-content:flex-end}
.question-actions .btn.primary{min-width:190px;margin-left:auto}
.practice-question-action-row .btn.secondary{min-height:38px;padding:7px 10px;border-color:#c7d6de;background:#f7fafc;color:var(--muted);font-size:.84rem;font-weight:750;box-shadow:none}
.practice-question-action-row .btn.secondary:hover{border-color:#8ebbd0;background:#eef7fb;color:var(--navy)}
.session-complete h2{margin:.7rem 0 .25rem;color:var(--navy);font-size:clamp(1.8rem,5vw,2.35rem)}
.completion-lead{margin:.2rem 0 1rem;color:var(--muted)}
.completion-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(440px,100%);margin:8px auto 16px}
.completion-score-grid>div{padding:16px;border:1px solid var(--line);border-radius:16px;background:#f7fafc}
.completion-score-grid span{display:block;margin-bottom:7px;color:var(--muted);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.completion-score-grid .complete-score,.completion-score-grid .complete-percent{display:block;margin:0;font-size:2rem;line-height:1.1}
.completion-note{max-width:600px;margin:12px auto 18px;color:var(--muted);font-size:.9rem;line-height:1.55}
.completion-next-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(620px,100%);margin:0 auto}
.completion-next-actions .btn{width:100%;justify-content:center;min-height:46px}
.completion-next-actions .btn.primary{grid-column:1/-1;min-height:50px}
@media(max-width:800px){.practice-session:not(.hidden) .question-actions{grid-template-columns:1fr}.practice-session:not(.hidden) .question-actions .btn.primary{width:100%;min-height:52px;margin:0}.practice-session:not(.hidden) .practice-question-action-row{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-session:not(.hidden) .practice-question-action-row .btn{min-height:42px}.completion-next-actions{grid-template-columns:1fr}.completion-next-actions .btn.primary{grid-column:1}}
@media(max-width:560px){.practice-session:not(.hidden) .question-actions{grid-template-columns:1fr}.practice-session:not(.hidden) .practice-question-action-row{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-score-grid{grid-template-columns:1fr 1fr}.completion-score-grid .complete-score,.completion-score-grid .complete-percent{font-size:1.65rem}}