.brand-mark .ui-icon{width:22px;height:22px}
.bank-entry{max-width:980px;margin:auto}
.bank-parent{display:inline-flex;align-items:center;min-height:44px;color:#526883;font-size:14px}
.bank-entry-heading{margin:12px 0 28px}
.bank-entry-heading h1{margin:12px 0;font-size:30px;line-height:1.35}
.bank-entry-heading p,.bank-access-note{color:#526883;line-height:1.7}
.bank-total{display:inline-block;margin-top:12px;font-size:14px;color:#245bb1}
.bank-entry .practice-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.type-entry-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.type-entry-list>a{display:flex;align-items:center;gap:14px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--ink);text-decoration:none;min-width:0}
.type-entry-list>a:hover{border-color:var(--brand);background:#f7faff}
.type-entry-list small{display:block;margin-top:5px;color:#526883}
.type-entry-list b{margin-left:auto;color:var(--brand)}
.type-icon{display:grid;place-items:center;width:44px;height:44px;background:#edf4ff;border-radius:12px;color:var(--brand);flex-shrink:0}
.bank-access-note{margin-top:28px;padding:16px;border:1px solid var(--line);border-radius:12px;font-size:14px;background:#f5f8ff}
.answer-hint,.trial-note{font-size:14px;color:#526883;line-height:1.6}
.answer-confirm{margin-top:16px;min-height:48px;width:100%}
.answer-status:empty{display:none}
.answer-status,.answer-error{margin-top:16px;padding:12px;border-radius:10px;background:#edf4ff;font-size:14px}
.answer-error{color:#a32626;background:#fff1f1}
.answer-error button,.trial-note button{min-height:44px;border:0;background:none;color:#245bb1;font:inherit;text-decoration:underline;cursor:pointer}
.case-material{margin-bottom:24px;padding:18px;background:#f6f8fc;border-radius:12px;color:#334760;line-height:1.8;white-space:pre-wrap}
.case-material h2,.case-prompt h2{margin:0 0 10px;font-size:15px;color:#526883}
.case-material div{font-weight:400}
.case-prompt .quiz-stem{font-weight:600}
.practice-shell .quiz-stem,.practice-shell .explanation{overflow-wrap:anywhere;white-space:pre-wrap}
.practice-shell .quiz-tools{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}
.practice-shell .quiz-tools button{min-height:44px;padding:8px 12px}
.practice-container .explanation{scroll-margin-bottom:110px}
.practice-container .option.wrong{border-color:#d14b4b;background:#fff3f3}
.practice-container .option.correct{border-color:#51a983;background:#f0faf5}
button:focus-visible,a:focus-visible{outline:3px solid #79a9ff;outline-offset:3px}
@media(max-width:768px){
 .bank-entry{padding:8px 6px 20px;width:100%;max-width:100%;box-sizing:border-box}
 .bank-entry-heading h1{font-size:24px}
 .bank-entry .practice-mode-grid{grid-template-columns:1fr}
 .type-entry-list{grid-template-columns:1fr;gap:10px}
 .bank-entry .section-head h2{font-size:20px}
 .type-entry-list>a{padding:16px}
 .practice-shell .quiz-stem{font-weight:500;font-size:17px;line-height:1.8}
 .practice-shell .option{font-size:16px;align-items:flex-start}
 .practice-main{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
 .practice-actions{bottom:0;transform:none}
 .practice-container .quiz-card{overflow:visible}
 .case-material{padding:14px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
