/* Shared practice geometry; bank-specific colours and content stay in each app. */
.qbank-layout { display: block; }
.qbank-pane { display: block; min-width: 0; overflow-wrap: anywhere; }
.qbank-pane:focus-visible { outline: 3px solid var(--med-accent, var(--accent)); outline-offset: 3px; }
.qbank-placeholder { display: none; }

@media (min-width: 960px) {
  body:has(.qbank-layout) :is(.stage, .med-main) { width: calc(100% - 48px); }
  .qbank-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
  .qbank-pane {
    height: max(420px, calc(100dvh - 360px));
    overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable;
    padding: 22px; border: 1px solid var(--med-border, var(--border)); border-radius: 18px;
    background: var(--med-panel, var(--panel));
  }
  body.study-focus .qbank-pane { height: max(420px, calc(100dvh - 220px)); }
  .qbank-pane > .feedback { margin-top: 0; }
  .qbank-placeholder {
    display: grid; place-content: center; gap: 10px; min-height: 100%;
    color: var(--med-muted, var(--text-dim)); text-align: center; line-height: 1.6;
  }
  .qbank-placeholder strong { color: var(--med-accent, var(--accent)); }
  .qbank-placeholder p { max-width: 440px; margin: 0; }
}
