
:root{--bg:#f4f3ef;--paper:#fff;--ink:#0b0d0f;--muted:#70747a;--line:#d7d5cf;--line-dark:#aaa8a2;--soft:#ebe9e3;--red:#a9342d;--green:#1f6a43;--amber:#8b6618}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}.topbar{height:66px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:280px 1fr 280px;align-items:center;padding:0 28px;background:rgba(244,243,239,.96);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}.wordmark{text-decoration:none;color:var(--ink);display:flex;align-items:baseline;gap:10px;font-weight:900;letter-spacing:-.04em}.wordmark span{font-size:20px}.wordmark small{font-size:9px;letter-spacing:.15em;color:var(--muted)}.modes{display:flex;justify-content:center;height:100%}.mode{position:relative;border:0;background:transparent;padding:0 18px;font-size:12px;font-weight:760;color:var(--muted);letter-spacing:.01em}.mode:after{content:"";position:absolute;height:2px;left:18px;right:18px;bottom:0;background:transparent}.mode.active{color:var(--ink)}.mode.active:after{background:var(--ink)}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:22px}.text-btn{border:0;background:transparent;font-size:12px;font-weight:760;padding:8px 0}.bank-count{font-size:12px;font-weight:900;letter-spacing:-.02em}.bank-count span{font-weight:650;color:var(--muted)}.frame{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 66px)}.topics{border-right:1px solid var(--line);padding:30px 18px 28px 28px;position:sticky;top:66px;height:calc(100vh - 66px);overflow:auto}.topics-head{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.16em;margin:0 10px 14px}.topic{border:0;border-top:1px solid var(--line);background:transparent;width:100%;min-height:43px;padding:9px 10px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#3f4348;font-size:11px;line-height:1.25}.topic:last-of-type{border-bottom:1px solid var(--line)}.topic b{color:#8a8d91;font-size:10px;font-weight:700}.topic:hover,.topic.active{background:#eae8e2;color:var(--ink)}.topic.active{font-weight:800}.integrity{font-size:10px;line-height:1.5;color:#8a8d91;padding:20px 10px}.study{max-width:950px;width:100%;margin:0 auto;padding:50px 60px 42px}.mobile-tools{display:none}.study-head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line-dark);padding-bottom:16px}.eyebrow{font-size:9px;font-weight:900;letter-spacing:.18em;color:var(--muted);margin-bottom:8px}.study-head h1{font-size:15px;margin:0;font-weight:820;letter-spacing:-.015em}.position{display:flex;align-items:baseline;gap:6px;color:var(--muted);font-size:11px}.position strong{font-size:18px;color:var(--ink);letter-spacing:-.05em}.progress-line{height:2px;background:#dfddd7}.progress-line i{display:block;height:100%;width:0;background:var(--ink);transition:width .25s ease}.question-area{padding:54px 0 34px;min-height:400px}.source-line{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);margin-bottom:22px;text-transform:uppercase;letter-spacing:.08em}.question{font-size:clamp(25px,3vw,38px);line-height:1.17;letter-spacing:-.035em;font-weight:790;max-width:850px;margin:0 0 38px}.options{border-top:1px solid var(--line)}.option{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;text-align:left;padding:16px 4px;color:#35393e;font-size:15px;line-height:1.4}.option .letter{font-size:12px;font-weight:850;color:#8a8d91;padding-top:2px}.option:hover{background:#efede8}.option.selected{background:#e8e6e0;color:var(--ink)}.option.correct{background:#edf3ef;color:#153e2b}.option.wrong{background:#f5eae8;color:#6e2420}.option.correct .letter{color:var(--green)}.option.wrong .letter{color:var(--red)}.reveal-row{display:flex;justify-content:space-between;align-items:center;padding-top:24px;gap:18px}.reveal{border:1px solid var(--ink);background:var(--ink);color:white;height:44px;padding:0 22px;border-radius:2px;font-size:12px;font-weight:850}.hint{font-size:11px;color:var(--muted)}.answer-area{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:23px 0 24px}.answer-label{font-size:9px;font-weight:900;letter-spacing:.16em;color:var(--muted);margin-bottom:8px}.answer-value{font-size:20px;font-weight:850;letter-spacing:-.02em}.answer-issue{font-size:12px;color:var(--red);margin-top:10px;line-height:1.5}.similar-area{padding:0}.similar-toggle{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:17px 0;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:780;color:#404449}.similar-toggle span:last-child{color:var(--muted);font-weight:650}.similar-list{border-bottom:1px solid var(--line)}.variant{padding:22px 0;border-top:1px solid var(--line)}.variant:first-child{border-top:0}.variant-meta{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.variant-q{font-size:14px;font-weight:760;line-height:1.45}.variant-options{margin-top:11px;display:grid;gap:5px}.variant-opt{font-size:12px;color:#61656a}.variant-opt.correct{font-weight:850;color:var(--ink)}.study-footer{border-top:1px solid var(--line-dark);margin-top:42px;padding-top:18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.nav-btn{height:44px;padding:0 18px;font-size:12px;font-weight:850;border-radius:2px}.nav-btn.secondary{border:1px solid var(--line-dark);background:transparent;justify-self:start}.nav-btn.primary{border:1px solid var(--ink);background:var(--ink);color:#fff;justify-self:end}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.mark-controls{display:flex;gap:5px}.mark{height:36px;border:1px solid var(--line-dark);background:transparent;padding:0 11px;font-size:10px;font-weight:800;border-radius:2px}.mark.active[data-mark="know"]{border-color:var(--green);color:var(--green);background:#edf3ef}.mark.active[data-mark="unsure"]{border-color:var(--amber);color:var(--amber);background:#f5f0e3}.mark.active[data-mark="wrong"]{border-color:var(--red);color:var(--red);background:#f5eae8}.shortcut{text-align:center;color:#9a9c9f;font-size:9px;letter-spacing:.04em;margin-top:24px}.search-panel{position:fixed;inset:66px 0 0;background:rgba(244,243,239,.98);z-index:45;padding:42px 28px;overflow:auto}.search-wrap{max-width:960px;margin:0 auto;display:grid;grid-template-columns:1fr auto;border-bottom:2px solid var(--ink)}.search-wrap input{font:750 clamp(23px,4vw,46px)/1.15 "Helvetica Neue",Arial,sans-serif;background:transparent;border:0;outline:none;padding:12px 0;color:var(--ink);letter-spacing:-.04em}.search-wrap button{border:0;background:transparent;font-size:11px;font-weight:850}.search-results{max-width:960px;margin:24px auto}.search-result{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:16px 0;display:grid;grid-template-columns:120px 1fr auto;gap:18px;align-items:start}.sr-topic{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.sr-title{font-size:14px;font-weight:760}.sr-count{font-size:10px;color:var(--muted)}.empty{padding:70px 0;color:var(--muted);font-size:13px;border-bottom:1px solid var(--line)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);background:var(--ink);color:#fff;padding:10px 14px;font-size:11px;font-weight:760;opacity:0;pointer-events:none;transition:.2s;z-index:80;border-radius:2px}.toast.on{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.topbar{grid-template-columns:1fr auto;padding:0 18px}.modes{position:fixed;left:0;right:0;bottom:0;height:58px;background:#f4f3ef;border-top:1px solid var(--line);z-index:60;justify-content:stretch}.mode{flex:1;padding:0 6px}.mode:after{left:28%;right:28%;top:0;bottom:auto}.wordmark small{display:none}.bank-count{display:none}.frame{display:block}.topics{display:none}.study{padding:28px 20px 92px;max-width:780px}.mobile-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:36px}.mobile-tools select{max-width:80%;border:0;border-bottom:1px solid var(--line-dark);background:transparent;padding:9px 22px 9px 0;font-weight:800;font-size:11px;color:var(--ink)}.mobile-tools span{font-size:10px;color:var(--muted)}.question-area{padding-top:38px}.question{font-size:29px}.study-footer{grid-template-columns:1fr 1fr}.mark-controls{grid-column:1/-1;grid-row:1;justify-content:center}.nav-btn.secondary{grid-column:1;grid-row:2}.nav-btn.primary{grid-column:2;grid-row:2}.shortcut{display:none}.search-panel{inset:66px 0 58px;padding:24px 18px}.search-result{grid-template-columns:1fr auto}.sr-topic{grid-column:1/-1}.top-actions{gap:0}}
@media(max-width:520px){.topbar{height:60px}.search-panel{top:60px}.study{padding:22px 16px 88px}.study-head{align-items:start}.study-head h1{font-size:13px}.question-area{min-height:0;padding:32px 0 24px}.source-line{font-size:8px;margin-bottom:16px}.question{font-size:25px;line-height:1.2;margin-bottom:28px}.option{grid-template-columns:32px 1fr;padding:14px 2px;font-size:14px}.reveal-row{align-items:flex-start;flex-direction:column}.reveal{width:100%}.answer-value{font-size:18px}.mark{padding:0 9px}.search-wrap input{font-size:26px}.search-result{padding:14px 0}.wordmark span{font-size:18px}}

/* Focused bank sections */
.section-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 34px}
.section-tab{appearance:none;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;font:inherit;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.section-tab:last-child{border-right:0}
.section-tab b{font-size:11px;font-variant-numeric:tabular-nums;color:inherit}
.section-tab:hover{color:var(--ink);background:rgba(0,0,0,.025)}
.section-tab.active{background:var(--ink);color:var(--paper,#f4f3ef)}
@media(max-width:720px){.section-tabs{margin:0 -18px 26px}.section-tab{padding:13px 12px;font-size:11px}.section-tab b{font-size:10px}}
