/* Original responsive diagram; no image assets required. */
.bank-lab{--text:#f6f3ec;--subtext:#d4deeb;--accent:#b7d8ff;background:#142840;padding:24px;border-radius:8px;min-width:0;}
.bank-heading h3{font:400 clamp(27px,4vw,42px)/1.12 Georgia,serif;margin:8px 0 12px;}
.bank-heading p{max-width:760px;font-size:15px;line-height:1.6;}
.bank-table{display:block;width:100%;height:auto;aspect-ratio:3/2;max-height:540px;}
.bank-visual{background:#142840;}
.bank-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font:12px/1.5 Helvetica,Arial,sans-serif;}
.bank-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px;}
.bank-controls fieldset{min-width:0;margin:0;padding:0;border:0;}
.bank-controls legend{font:700 15px/1.4 Helvetica,Arial,sans-serif;margin-bottom:12px;}
.bank-controls p,.bank-controls label{font:14px/1.6 Helvetica,Arial,sans-serif;}
.bank-tip-row{display:flex;align-items:center;gap:16px;}
.bank-tip{display:block;width:82px;height:82px;flex:0 0 auto;}
.bank-tip-buttons,.bank-actions,.bank-predictions{display:flex;gap:8px;flex-wrap:wrap;}
body .bank-lab button{min-height:44px;padding:10px 15px;border-radius:5px;cursor:pointer;background:#e1eaf4!important;color:#192b43!important;font:700 13px/1.2 Helvetica,Arial,sans-serif;}
body .bank-lab button[aria-pressed=true]{background:#b7d8ff!important;color:#192b43!important;outline:2px solid #fffdf8;outline-offset:2px;}
.bank-controls output{display:block;color:#b7d8ff!important;font-size:12px;margin-top:4px;}
body .bank-lab input[type=range]{appearance:auto;accent-color:#b7d8ff;width:100%;min-height:44px;padding:0;margin:8px 0;background:transparent!important;border:0!important;touch-action:pan-y;}
.bank-check{display:flex;align-items:center;gap:10px;min-height:44px;}
.bank-check input,.bank-predictions input{width:18px;height:18px;flex-shrink:0;}
.bank-predict{grid-column:1 / -1;}
.bank-predictions label{display:flex;align-items:center;gap:8px;min-height:44px;padding-right:12px;cursor:pointer;}
.bank-actions{margin-top:16px;}
body .bank-lab .bank-actions .primary{background:#b7d8ff!important;color:#192b43!important;}
.bank-result{padding:14px 16px;background:#0b1730;border-radius:5px;min-height:52px;}
.bank-note{font:12px/1.6 Helvetica,Arial,sans-serif;max-width:860px;margin-top:24px;}
.bank-reading{font-size:13px;margin-top:18px;}
.bank-reading summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;}
.bank-reading a{color:#b7d8ff!important;text-decoration:underline!important;}
/* Scroll the dialog content, not the obscured page behind it. */
html.academy-dialog-open,html.academy-dialog-open body{overflow:hidden!important;overscroll-behavior:none;}
.academy-modal.open{align-items:flex-start;overflow:hidden;padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));}
.academy-modal .modal-card{max-height:calc(100svh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:auto;min-width:0;}
.academy-modal .modal-body{min-width:0;}
.academy-modal .modal-close{z-index:2;min-width:44px;min-height:44px;right:10px;top:8px;background:#142840!important;}
.academy-modal .modal-card>h2,.academy-modal .modal-body>h2{padding-right:24px;}
.academy-modal .bank-lab{padding:16px 0 0;}
@media(max-width:650px){.bank-visual{position:sticky;top:82px;z-index:1;}.academy-modal .bank-visual{top:0;}.bank-controls{grid-template-columns:1fr;gap:22px;}.bank-lab{padding:16px;}.bank-tip-buttons{gap:6px;}body .bank-lab button{padding:10px 13px;}.academy-modal.open{padding:8px;}.academy-modal .modal-card{padding:30px 16px 20px;max-height:calc(100svh - 16px);max-height:calc(100dvh - 16px);}.bank-legend{gap:4px 12px;font-size:11px;}.bank-heading p{font-size:14px;}}
