/* Reading styles load after the shared theme; scope changes to the PYQ desk. */
.practice-page{max-width:1160px;padding:24px 24px 100px;margin:auto}
.practice-page .reading-heading{margin:0 0 14px;background:transparent;border:0;box-shadow:none;border-radius:0}
.reading-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}
.reading-header h1{font-size:clamp(30px,4vw,42px);line-height:1.15;margin:6px 0 10px;letter-spacing:-1px}
.reading-description{margin:0;color:#595b58;font-size:16px;line-height:1.6}
.practice-page .bank-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:0;background:transparent;border:0}
.bank-subject-selector{flex:1 0 100%;background:#fffdf7;border:1px solid #cbc8bb;border-radius:14px}
.bank-subject-selector>summary{padding:16px 18px;font-size:20px;font-weight:750;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px}
.bank-subject-selector>summary span{font-size:13px;font-weight:500;color:#555d58}
.bank-subject-selector .bank-primary-filters{padding:0 16px 16px}
.practice-page .bank-search{flex:1 1 300px;font-size:12px;gap:6px}
.practice-page .bank-search input{min-height:46px;background:#fffefb;font-size:16px;border:1px solid #cbc8bb;border-radius:10px}
.practice-page .bank-advanced{border:1px solid #cbc8bb;border-radius:10px;background:#fffefb;margin:0;flex:0 1 auto}
.practice-page .bank-advanced>summary{padding:12px;font-size:14px;min-height:46px}
.practice-page .bank-advanced[open]{flex:1 0 100%}
.practice-page .bank-reset{min-height:44px;padding:8px 12px;font-size:13px}
.practice-page .study-options{border:0;border-bottom:1px solid #d9d6ca;margin:12px 0 14px;padding:10px 0;font-size:13px}
.study-options>summary{cursor:pointer;color:#565c56;width:fit-content}
.study-options #exam-prep,.study-options .hub-resource-tools{margin:12px 0;background:transparent;box-shadow:none;border:0;padding:8px 0}
.practice-page .bank-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 18px}
.practice-page #bank-count{order:3;flex-basis:100%;font-size:13px;color:#5b625c;margin:0}
.reading-controls{display:flex;align-items:center;gap:6px}
.practice-page .reading-controls button{font-size:13px;min-height:40px;padding:7px 11px;border:1px solid #bbbfb4;background:#fffdf7;border-radius:9px;box-shadow:none;color:#253a32}
.practice-page .bank-view-tabs{gap:3px;background:#e7e9df;padding:4px;border-radius:10px}
.practice-page .bank-view-tabs button{font-size:13px;border-radius:7px;min-height:38px}
.practice-page .bank-view-tabs button[aria-pressed=true]{background:#254f40;color:white;box-shadow:none}
.practice-page #bank-original-papers{margin-bottom:16px}
.practice-page .original-paper-library{border:1px solid #d3d5c9;background:#f4f5ed;border-radius:12px;box-shadow:none;margin:0;padding:0}
.practice-page .original-paper-library>summary{padding:13px 16px;font-size:14px;cursor:pointer}
.practice-page .original-paper-grid{padding:12px}
.practice-page .bank-results{max-width:none;width:100%}
.practice-page .bank-question{padding:34px 42px;border:1px solid #cbcfc2;background:#fffef9;border-radius:18px;box-shadow:0 6px 24px #253d2c08;margin-bottom:24px;min-width:0}
.practice-page .bank-question-top{gap:10px;align-items:center}
.practice-page .bank-badge{font-size:12px;line-height:1.5;padding:4px 8px;background:#eff2e8;border:0;color:#47594d}
.practice-page .bank-question h3{font-size:14px;line-height:1.6;font-weight:600;color:#586555;margin:20px 0 14px}
.practice-page .bank-question-text{font-size:var(--reading-size,24px);line-height:1.8;color:#18271f;max-width:900px;overflow-wrap:anywhere;font-weight:450}
.practice-page .bank-question-text p{margin:0 0 18px}
.practice-page .bank-question-text .katex{font-size:1.08em}
.practice-page .bank-rich .katex-display{overflow-x:auto;overflow-y:hidden;padding:14px 3px;max-width:100%;margin:18px 0}
.practice-page .bank-figure{display:block;background:#fff;border:1px solid #d4d8cc;border-radius:14px;padding:20px;margin:20px 0;text-align:center;cursor:zoom-in}
.practice-page .bank-figure img{display:block;max-width:100%;width:auto;max-height:520px;height:auto;margin:auto}
.practice-page .bank-figure span{display:block;font-size:13px;margin-top:12px;color:#346146}
.practice-page .source-enlarge{margin:10px 0 14px;display:inline-flex;align-items:center;padding:12px 16px;border:1px solid #9baa99;border-radius:10px;background:#eff5e9;color:#254c33;box-shadow:none;font-size:15px;min-height:46px}
.practice-page .question-source-preview{border:1px solid #d1d7c9;border-radius:12px;margin:0 0 16px;background:#f6f8f1;padding:0}
.practice-page .question-source-preview>summary{font-size:14px;padding:14px;cursor:pointer}
.practice-page [data-source-preview-slot]{padding:0 12px 14px}
.practice-page [data-source-preview-slot] canvas{width:100%;height:auto;max-width:100%;cursor:zoom-in;background:white}
.practice-page .source-paper-link{display:inline-block;margin:0 14px 16px;font-size:14px}
.practice-page .bank-question-actions{border-top:1px solid #e1e4d8;margin-top:18px;padding-top:14px;gap:12px}
.practice-page .bank-question>details[data-answer-id]{border:1px solid #c7d5bf;background:#f0f5ea;border-radius:12px;margin-top:20px;padding:0}
.practice-page .bank-question>details[data-answer-id]>summary{padding:18px 20px;font-size:18px;font-weight:700;cursor:pointer;color:#24442f}
.practice-page .bank-question [data-answer-slot]{padding:0 22px 22px}
.practice-page .bank-answer{font-size:19px;line-height:1.85;background:transparent;padding:0;overflow-wrap:anywhere}
.practice-page .bank-answer h3,.practice-page .bank-answer h4{font-size:21px;color:#254d36;margin:26px 0 12px}
.practice-page .bank-answer p{margin:12px 0 18px}
.practice-page .bank-answer li{margin:10px 0}
.practice-page .bank-session-bar{bottom:12px;border:1px solid #b8c3b1;border-radius:14px;box-shadow:0 6px 30px #19382616;background:#fffef9;padding:12px 16px;gap:12px}
.practice-page .bank-session-bar p{font-size:14px}
.reading-focused .study-nav,.reading-focused .reading-heading,.reading-focused .study-options,.reading-focused #bank-original-papers,.reading-focused .bank-footnote{display:none}
.reading-focused .practice-page{padding-top:12px}
.source-viewer{width:min(1500px,98vw);height:94dvh;max-width:98vw;max-height:96dvh;padding:0;border:1px solid #a5b19e;border-radius:14px;background:#eef0e8;color:#1a3022;overflow:hidden}
.source-viewer::backdrop{background:#14271edb}
.source-viewer-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid #c2c9b9;background:#fffef9}
.source-viewer-title{margin:0;font-size:15px;line-height:1.5}
.source-viewer-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.source-viewer button{font:inherit;font-size:14px;padding:10px 13px;min-height:44px;border:1px solid #adb9a4;border-radius:8px;background:#fffef9;color:#203d2c;cursor:pointer}
.source-viewer button:disabled{opacity:.4;cursor:default}
.source-viewer button:focus-visible,.practice-page :focus-visible{outline:3px solid #527b37;outline-offset:3px}
.source-viewer-stage{height:calc(100% - 88px);overflow:auto;padding:16px;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
.source-viewer-stage canvas,.source-viewer-stage img{display:block;margin:0 auto;background:white;max-width:none;box-shadow:0 3px 16px #20301a22}
.source-viewer-status{font-size:14px;padding:10px}
body.source-viewer-open{overflow:hidden}
@media(max-width:680px){
 .practice-page{padding:18px 12px 100px}.reading-header{gap:10px;margin-bottom:18px}.reading-header .overline{font-size:10px}.reading-description{font-size:14px}.reading-header>button{font-size:12px;padding:10px}
 .bank-subject-selector>summary{font-size:17px;padding:14px}.bank-subject-selector>summary span{font-size:11px;white-space:nowrap}
 .practice-page .bank-question{padding:23px 20px;border-radius:14px}.practice-page .bank-question-text{font-size:var(--reading-mobile-size,20px);line-height:1.8}.practice-page .bank-question h3{font-size:13px;margin-top:18px}
 .practice-page .bank-toolbar{gap:10px}.practice-page .bank-view-tabs{flex:1}.practice-page .bank-view-tabs button{font-size:12px;padding:7px}
 .practice-page .bank-question-top{align-items:flex-start}.practice-page .bank-question-meta{gap:5px}.practice-page .bank-badge{font-size:10px}
 .practice-page .bank-answer{font-size:18px}.practice-page .bank-question [data-answer-slot]{padding:0 16px 18px}.practice-page .bank-question>details[data-answer-id]>summary{font-size:17px;padding:16px}
 .practice-page .source-enlarge{width:100%;font-size:14px;justify-content:center}.practice-page .bank-session-bar{bottom:8px;padding:10px;gap:6px}.practice-page .bank-session-bar button{font-size:12px;padding:10px}.practice-page .bank-session-bar p{font-size:12px;margin:0}
 .source-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.source-viewer-header{padding:10px;gap:8px}.source-viewer-title{font-size:13px}.source-viewer-stage{height:calc(100% - 130px);padding:8px}.source-viewer-controls{gap:4px}.source-viewer button{font-size:12px;padding:8px 10px}
}
.practice-page .source-canvas-button{display:block;width:100%;padding:0;overflow:hidden;border:1px solid #bbc8b0;background:white;box-shadow:none;cursor:zoom-in}


/* Keep the problem and its figure together; scans are a secondary reference. */
.practice-page .bank-results{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.practice-page .bank-question{margin-bottom:0}
.practice-page .bank-question-text{max-width:none}
.practice-page .bank-question-text>:last-child{margin-bottom:0}
.practice-page .bank-figure{box-sizing:border-box;width:100%;padding:clamp(12px,3vw,28px);margin:22px 0 16px;overflow:visible;text-decoration:none;color:#346146}
.practice-page .bank-figure img{width:auto;height:auto;max-width:100%;max-height:none;object-fit:contain}
.practice-page .bank-figure span{font-size:12px;line-height:1.5;margin-top:14px}
.practice-page .question-source-preview{margin:14px 0 0;padding:0;border:0;border-radius:8px;background:transparent}
.practice-page .question-source-preview>summary{box-sizing:border-box;width:fit-content;min-height:44px;padding:10px 2px;font-size:13px;line-height:24px;color:#53654f;text-decoration:underline;text-underline-offset:3px}
.practice-page .question-source-preview[open]{background:#f6f8f1;border:1px solid #d1d7c9}
.practice-page .question-source-preview[open]>summary{padding:10px 14px}
.practice-page .question-source-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:0 14px 12px}
.practice-page .question-source-actions .source-enlarge{width:auto;min-height:40px;margin:0;padding:8px 12px;font-size:13px}
.practice-page .question-source-actions .source-paper-link{margin:0;font-size:13px}
.practice-page [data-source-preview-slot]{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.practice-page [data-source-preview-slot]>p{margin:10px 0}
.practice-page .bank-question-text pre{max-width:100%;overflow-x:auto;white-space:pre}
.practice-page .bank-question-text table{display:block;max-width:100%;overflow-x:auto}
.source-viewer[open]{display:flex;flex-direction:column}
.source-viewer-header{flex:none}
.source-viewer-stage{box-sizing:border-box;flex:1;min-height:0;height:auto;scrollbar-gutter:stable}
@media(max-width:680px){
 .practice-page .bank-results{gap:18px}
 .practice-page .bank-question{padding:20px 16px}
 .practice-page .bank-figure{padding:12px;margin:18px 0 12px}
 .practice-page .bank-question-meta{min-width:0;flex-wrap:wrap}
 .practice-page .bank-save{flex-shrink:0}
 .source-viewer-header{align-items:flex-start}
 .source-viewer-controls{width:100%}
 .source-viewer-stage{height:auto;padding:8px}
}

/* The question leads; optional tools stay one step away. */
.practice-page .bank-question-text{font-size:var(--reading-size,26px);line-height:1.7}
.practice-page .reading-settings{position:relative;font-size:13px;color:#53654f}
.practice-page .reading-settings>summary{cursor:pointer;padding:10px 2px;min-height:24px}
.practice-page .reading-settings .reading-controls{position:absolute;top:100%;left:0;z-index:4;white-space:nowrap;background:#fffef9;border:1px solid #cbcfc2;border-radius:10px;padding:10px;box-shadow:0 6px 20px #253d2c15}
.practice-page .bank-question-actions{position:relative;float:right;border:0;margin:4px 0 0 8px;padding:0}
.practice-page .bank-tools{margin:0}
.practice-page .bank-tools>summary{font-size:17px;min-height:36px;min-width:36px;line-height:36px}
.practice-page .bank-tools>div{top:36px}
.practice-page .bank-question>details[data-answer-id]{clear:both}
.practice-page .bank-question-top .bank-save{font-size:12px;min-height:36px;padding:6px 10px}
@media(max-width:680px){.practice-page .bank-question-text{font-size:var(--reading-mobile-size,22px);line-height:1.7}.practice-page .bank-question{padding:20px 16px}.practice-page .bank-toolbar{align-items:center}.practice-page .reading-settings .reading-controls{max-width:calc(100vw - 44px);flex-wrap:wrap}}
.practice-page .bank-question>details.question-source-preview{margin-top:14px;padding-top:0;border:0}
.practice-page .bank-question>details.question-source-preview[open]{border:1px solid #d1d7c9}
.practice-page .bank-question>.question-source-preview>summary{font-size:13px;font-weight:500;min-height:44px;padding:10px 2px}
.practice-page .bank-question>.question-source-preview[open]>summary{padding:10px 14px}

/* Follow the lantern theme instead of keeping light-mode ink on dark cards. */
.practice-page .bank-question-text{color:var(--text,#18271f);font-weight:650}
.practice-page .bank-question-text .katex{color:inherit;font-weight:600}
.practice-page .bank-question h3,
.practice-page #bank-count,
.practice-page .reading-settings,
.practice-page .study-options>summary,
.practice-page .bank-subject-selector>summary span{color:var(--secondary,#586555)}
.practice-page .bank-subject-selector,
.practice-page .bank-search input,
.practice-page .bank-advanced,
.practice-page .reading-settings .reading-controls,
.practice-page .reading-controls button,
.practice-page .bank-session-bar{background:var(--surface,#fffef9);color:var(--text,#18271f);border-color:var(--border,#cbcfc2)}
.practice-page .bank-badge,
.practice-page .bank-view-tabs{background:var(--surface-muted,#eff2e8);color:var(--text,#18271f)}
.practice-page .bank-question>details[data-answer-id],
.practice-page .question-source-preview[open],
.practice-page .bank-question>details.question-source-preview[open]{background:var(--surface-muted,#f0f5ea);border-color:var(--border,#c7d5bf);color:var(--text,#18271f)}
.practice-page .bank-question>details[data-answer-id]>summary,
.practice-page .bank-question>.question-source-preview>summary,
.practice-page .bank-answer h3,
.practice-page .bank-answer h4{color:var(--text,#24442f)}
.practice-page .question-source-actions .source-enlarge{background:var(--surface,#fffef9);color:var(--text,#18271f);border-color:var(--border,#cbcfc2)}
.practice-page .source-paper-link{color:var(--blue,#2362d9)}
.practice-page .study-options,
.practice-page .bank-subject-selector,
.practice-page .bank-advanced{border-color:var(--border,#cbcfc2)}
.source-viewer{background:var(--page,#eef0e8);color:var(--text,#18271f);border-color:var(--border,#a5b19e)}
.source-viewer-header,
.source-viewer button{background:var(--surface,#fffef9);color:var(--text,#18271f);border-color:var(--border,#adb9a4)}
/* Diagrams retain their white paper background and dark labels in both themes. */
.practice-page .bank-figure{background:#fff;color:#24442f}
.practice-page .bank-figure span{color:#346146}
