
:root{--bg:#070A12;--panel:#0B1018;--line:rgba(255,255,255,.08);--text:#EEF3F9;--muted:#7D8B9F;--accent:#91A8FF}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:radial-gradient(circle at 80% 0%,rgba(101,130,255,.08),transparent 30rem),var(--bg);color:var(--text);font-family:"DM Sans",sans-serif}
a{color:inherit;text-decoration:none}
.bank-shell{width:min(1260px,calc(100% - 40px));margin:auto;padding:48px 0 90px}
.bank-head{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:end;padding-bottom:28px;border-bottom:1px solid var(--line)}
.back{display:inline-block;margin-bottom:28px;color:#7A899E;font-size:11px;font-weight:800}.eyebrow{margin:0;color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.14em}.bank-head h1{margin:6px 0 0;font:800 clamp(48px,7vw,82px)/.94 "Manrope";letter-spacing:-.06em}.bank-head p:last-child{margin:14px 0 0;color:#8997AA;max-width:760px}
.bank-stat{min-width:155px;padding:18px;border:1px solid var(--line);text-align:center}.bank-stat strong,.bank-stat span{display:block}.bank-stat strong{font:800 34px "Manrope"}.bank-stat span{margin-top:3px;color:#69778B;font-size:8px;font-weight:900;letter-spacing:.1em}
.status,.locked{margin-top:20px;padding:18px;border:1px solid rgba(145,168,255,.1);background:rgba(145,168,255,.02)}.locked h2{font:700 24px "Manrope"}.locked a{display:inline-block;margin-top:12px;padding:9px 12px;border:1px solid rgba(145,168,255,.18);font-size:10px;font-weight:900}
.filters{margin-top:22px;display:flex;align-items:center;gap:8px}.filters button{padding:8px 11px;border:1px solid var(--line);background:transparent;color:#8492A7;font:800 9px "DM Sans";cursor:pointer}.filters button.active{border-color:rgba(145,168,255,.23);background:rgba(145,168,255,.06);color:#E9EEF7}.filters span{margin-left:auto;color:#68768B;font-size:10px;font-weight:800}
.question-shell{margin-top:13px;border:1px solid var(--line);background:#0A0F17}.question-meta{padding:15px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.question-meta div span,.question-meta div strong{display:block}.question-meta div span{color:var(--accent);font-size:8px;font-weight:900;letter-spacing:.12em}.question-meta div strong{margin-top:2px;font-size:11px}.verified{padding:5px 7px;border:1px solid rgba(128,207,159,.16);color:#9ED8B5;font-size:7px;font-weight:900;letter-spacing:.1em}
.reader-note{padding:14px 18px;border-bottom:1px solid var(--line);background:rgba(145,168,255,.04);color:#C8D5E8;font-size:13px;line-height:1.55}
.question-reader{padding:20px 18px;display:grid;gap:16px}
.ocr-status{padding:14px 16px;border:1px solid rgba(145,168,255,.16);background:rgba(145,168,255,.04);border-radius:16px;color:#D4DDF0;font-size:13px;line-height:1.55}
.text-card,.snapshot-card{border:1px solid var(--line);background:rgba(255,255,255,.015);border-radius:16px}.text-card{padding:18px}
.text-card-label{margin:0 0 12px;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.selectable-text{font-size:18px;line-height:1.72;color:#EEF3F9;user-select:text}.selectable-text p{margin:0 0 1.05em}.selectable-text p:last-child{margin-bottom:0}.selectable-text u{text-decoration-thickness:2px;text-underline-offset:.16em}.passage-card .selectable-text{color:#D8E3F5}
.choice-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.choice-list li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:#0C121B;color:#EEF3F9;font-size:17px;line-height:1.55}.choice-letter{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(145,168,255,.28);background:rgba(145,168,255,.08);font-weight:900;color:#DCE5F8}.no-choice-copy{grid-template-columns:1fr!important;color:#9EAEC5}
.snapshot-card{overflow:hidden}.snapshot-card[hidden]{display:none!important}.snapshot-card summary{cursor:pointer;list-style:none;padding:16px 18px;font-size:13px;font-weight:800;color:#D5DFF1;border-bottom:1px solid transparent}.snapshot-card[open] summary{border-bottom-color:var(--line)}.snapshot-card summary::-webkit-details-marker{display:none}#questionImage{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;background:#fff}
.answer-controls{padding:16px 18px;display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line)}.answer-choice{min-width:52px;height:42px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.015);color:#E6EBF3;font-weight:900;cursor:pointer;border-radius:12px}.answer-choice:hover{border-color:rgba(145,168,255,.25)}
.feedback{margin:0 18px 16px;padding:12px 14px;border:1px solid var(--line);font-size:12px;border-radius:14px}.feedback.correct{border-color:rgba(128,207,159,.18);color:#A9DDBC}.feedback.wrong{border-color:rgba(225,135,135,.18);color:#E0A5A5}
.bank-actions{padding:14px 18px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}.bank-actions button{padding:9px 12px;border:1px solid var(--line);background:transparent;color:#CBD4E1;font-weight:800;cursor:pointer;border-radius:12px}
@media(max-width:700px){.bank-head{grid-template-columns:1fr}.bank-stat{width:150px}.filters{flex-wrap:wrap}.filters span{width:100%;margin-left:0}.selectable-text{font-size:16px;line-height:1.65}.choice-list li{font-size:15px}}
.ocr-live-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#91A8FF;box-shadow:0 0 12px rgba(145,168,255,.65);animation:ocrPulse 1.25s ease-in-out infinite}
@keyframes ocrPulse{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}

/* Tier-aware bank access */
.bank-entitlement-bar{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin:0 0 16px;padding:14px 16px;border-radius:16px;
  border:1px solid rgba(207,222,255,.18);
  background:linear-gradient(135deg,rgba(206,221,255,.11),rgba(223,214,255,.06));
  color:#AEBBD0;font-size:12px;
}
.bank-entitlement-bar strong{color:#EAF1FF;font-size:10px;letter-spacing:.12em}
.bank-entitlement-bar a{margin-left:auto;color:#D7E4FF;text-decoration:none;font-weight:800}
.locked{
  border-color:rgba(208,222,255,.18)!important;
  background:linear-gradient(135deg,rgba(208,222,255,.11),rgba(229,219,255,.07),rgba(255,255,255,.02))!important;
}
.locked .eyebrow{color:#C7D8FF!important}
.locked a{display:inline-flex;margin-top:16px;padding:12px 16px;border-radius:999px;border:1px solid rgba(211,224,255,.22);background:rgba(211,224,255,.10);color:#EEF4FF;text-decoration:none;font-weight:800}
