/* Shared pedagogy UI. Module colors remain identifiers; labels always carry meaning. */
.bkl-directory,.bkl-module,.bkl-practice,.bkl-progress{--bkl-accent:#2459a6;color:#20384e;font-family:Manrope,system-ui,sans-serif;line-height:1.7}
.bkl-directory,.bkl-progress{margin:36px 0}.bkl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}
.bkl-card{display:flex;flex-direction:column;gap:10px;color:#20384e!important;text-decoration:none!important;border:1px solid #dce3eb;border-top:5px solid var(--bkl-accent);border-radius:14px;padding:24px;background:#fff;box-shadow:0 7px 20px #19354b07}
.bkl-card h3{font:800 20px/1.4 Manrope,system-ui!important;margin:0!important;color:var(--bkl-accent)!important}.bkl-card p{font-size:15px!important;margin:0!important}.bkl-card small{font-size:12px;line-height:1.6;color:#506477}.bkl-card strong{margin-top:auto;font-size:14px}.bkl-dot{width:18px;height:18px;border-radius:50%;background:var(--bkl-accent)}
.bkl-kicker{font:800 11px/1.6 Manrope,system-ui!important;letter-spacing:.1em;color:var(--bkl-accent);margin:0 0 12px!important}.bkl-stage{border:1px solid #d6dfe7;border-left:5px solid var(--bkl-accent);background:#fffefb;padding:26px;border-radius:12px;margin:24px 0}
.bkl-stage>h3{font:800 23px/1.4 Manrope,system-ui!important;margin:0 0 14px!important;color:#20384e!important}.bkl-practice{background:#f3f7fb;border:1px solid #d9e3ed;border-radius:12px;padding:24px;margin:22px 0}.bkl-practice>p{margin:0 0 18px!important}.bkl-stage .bkl-practice{margin-bottom:0}
.bkl-button,.bkl-filter button{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--bkl-accent,#2459a6);color:white;border:2px solid transparent;border-radius:10px;min-height:48px;max-width:100%;padding:12px 18px;margin:6px 8px 6px 0;font:750 15px/1.45 Manrope,system-ui;white-space:normal;cursor:pointer;box-shadow:none}
.bkl-button[hidden]{display:none}.bkl-button:disabled{opacity:.6;cursor:default}.bkl-secondary{background:#fff;color:#25435d;border-color:#cad7e3;font-weight:650}.bkl-button:focus-visible,.bkl-filter select:focus-visible,.bkl-dialog button:focus-visible{outline:3px solid #155acb;outline-offset:3px}
.bkl-filter{display:flex;align-items:end;gap:14px;margin:24px 0;flex-wrap:wrap}.bkl-filter label,.bkl-progress label{display:block;font-size:14px;font-weight:700}.bkl-filter select,.bkl-progress select,.bkl-dialog select{display:block;min-height:44px;font:inherit;border:1px solid #b8c9d9;border-radius:8px;background:#fff;padding:10px;max-width:100%;margin:8px 0}.bkl-filter button{margin-bottom:8px}.bkl-count{padding:14px 18px;border-left:3px solid var(--bkl-accent);background:#edf3fa;font-size:14px!important}.bkl-note{font-size:13px!important;line-height:1.75!important;color:#536678;margin-top:18px}.bkl-pagination{display:flex;gap:8px;flex-wrap:wrap}.bkl-pagination a{padding:7px 14px;border:1px solid #c4d2de;border-radius:6px}.bkl-pagination [aria-current]{background:#20384e;color:white}
.bkl-readable{border-top:1px solid #d3dfe8;padding-top:15px;margin-top:20px;font-size:14px}.bkl-readable summary{cursor:pointer;font-weight:650}.bkl-readable li{margin:24px 0}.bkl-readable details{margin:12px 0}.bkl-preline,.bkl-stimulus{white-space:pre-line}.bkl-dialog{box-sizing:border-box;width:min(700px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100svh - 28px);padding:0;border:1px solid #bacbdb;border-top:6px solid var(--bkl-accent);border-radius:16px;color:#20384e;background:#fffefb;font-family:Manrope,system-ui;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 100px #14324a55}
.bkl-dialog::backdrop{background:#132f47b8;backdrop-filter:blur(3px)}.bkl-dialog>header{position:sticky;top:0;z-index:3;display:flex!important;align-items:center;justify-content:space-between;gap:16px;background:#f7f9fb;border-bottom:1px solid #dbe3ea;padding:12px 22px!important;font-size:12px;min-height:64px}.bkl-dialog>header button{font:inherit;background:white;border:1px solid #bbcbd8;color:#28435c;border-radius:8px;padding:9px 13px;min-height:42px}.bkl-dialog [data-bkl-screen]{padding:26px}.bkl-dialog h2{font:800 24px/1.35 Manrope,system-ui!important;letter-spacing:-.02em!important;margin:0 0 22px!important;color:#20384e!important}.bkl-dialog h2:focus,.bkl-feedback:focus{outline:none}.bkl-dialog p{font:400 16px/1.8 Manrope,system-ui!important;letter-spacing:normal!important}.bkl-dialog .bkl-kicker{font:800 11px/1.6 Manrope,system-ui!important;letter-spacing:.1em!important}.bkl-dialog .bkl-instruction{font-size:19px!important;font-weight:650!important;margin:18px 0!important}.bkl-dialog .bkl-stimulus{background:#fff;border:1px solid #cbd8e4;border-radius:10px;padding:20px;margin:20px 0!important;font-size:19px!important;color:#233f5a}
.bkl-dialog fieldset{border:0;padding:0;margin:22px 0;min-width:0;display:grid;gap:12px}.bkl-dialog legend{font-size:14px;font-weight:650;margin:0 0 12px}.bkl-choice{display:flex;align-items:center;gap:13px;min-height:58px;padding:14px 18px;border:2px solid #c6d4e1;border-radius:10px;background:#fff;cursor:pointer;font:500 18px/1.65 Manrope,system-ui}.bkl-choice input{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--bkl-accent)}.bkl-choice:has(input:checked){border-color:var(--bkl-accent);background:#edf3fb}.bkl-choice:has(input:focus-visible){outline:3px solid #155acb;outline-offset:3px}.bkl-number{display:block;margin:24px 0;font-size:15px;font-weight:650}.bkl-number input{display:block;border:2px solid #b7cadb;background:#fff;border-radius:10px;min-height:58px;width:100%;max-width:240px;padding:10px 15px;font:700 25px/1.3 Manrope,system-ui;box-sizing:border-box;margin-top:10px}.bkl-hint{background:#fff5e5;border-left:4px solid #cc8a25;padding:15px 20px;margin:20px 0}.bkl-feedback{background:#edf7ef;border-left:4px solid #418856;padding:22px;margin-top:25px;border-radius:0 10px 10px 0}.bkl-feedback:empty{display:none}.bkl-feedback h3{font:800 18px/1.5 Manrope,system-ui!important;color:#2c593d!important;margin:0 0 10px!important}.bkl-feedback p{margin:0 0 16px!important}.bkl-retry{background:#fff5e4;border-color:#c9913b}.bkl-retry h3{color:#785111!important}.bkl-live:empty{display:none}.bkl-dialog .bkl-live{font-size:13px!important;background:#eef3f8;margin:0!important;padding:12px 26px;position:sticky;bottom:0}
.bkl-gift{display:flex;gap:18px;border:1px solid #c9d9eb;border-radius:12px;background:#f0f5ff;padding:20px;margin:24px 0}.bkl-gift>div{min-width:0;flex:1}.bkl-gift img{width:56px!important;height:68px!important;object-fit:contain;flex-shrink:0;border:0!important;box-shadow:none!important}.bkl-fed{background:#eff9ef;border-color:#aacfb2}.bkl-fed img{animation:bkl-nod .6s ease 1}@keyframes bkl-nod{50%{transform:translateY(-6px) rotate(-4deg)}}.bkl-history{background:white;border:1px solid #cfdae4;border-left:4px solid #2867b4;border-radius:10px;padding:22px;margin:20px 0}.bkl-history h3{font:800 19px/1.4 Manrope,system-ui!important;margin:0 0 12px!important}.bkl-comparison{padding:12px 16px;background:#eef5fe;border-radius:6px}.bkl-modal-open{overflow:hidden}
@media(max-width:900px){.bkl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.bkl-grid{grid-template-columns:1fr}.bkl-stage{padding:18px}.bkl-practice{padding:18px}.bkl-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:calc(100svh - 16px);border-radius:12px}.bkl-dialog [data-bkl-screen]{padding:20px 17px}.bkl-dialog>header{padding:10px 16px!important}.bkl-dialog h2{font-size:22px!important}.bkl-dialog .bkl-instruction{font-size:18px!important}.bkl-choice{font-size:16px;padding:13px}.bkl-dialog .bkl-stimulus{font-size:17px!important;padding:16px}.bkl-gift{gap:10px;padding:15px}.bkl-gift img{width:36px!important;height:46px!important}.bkl-button{font-size:14px;padding:12px 15px}.bkl-stage>h3{font-size:20px!important}}
@media(prefers-reduced-motion:reduce){.bkl-fed img{animation:none}.bkl-dialog::backdrop{backdrop-filter:none}}@media print{.bkl-dialog,.bkl-button,.bkl-filter,.bkl-progress{display:none!important}.bkl-readable,.bkl-readable>ol,.bkl-readable details>p{display:block!important}.bkl-practice{background:#fff!important;border:1px solid #aaa;break-inside:avoid}}

/* Public discovery; class selection progressively enhanced, all content readable without JS. */
.bkl-discovery-grades{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.bkl-discovery-grades a{padding:12px 22px;border:1px solid #b4c4d4;border-radius:12px;text-decoration:none;color:#173556;background:#fff;font-weight:800}.bkl-discovery-grades a[aria-current]{background:#173556;color:#fff;border-color:#173556}.bkl-discovery [hidden]{display:none!important}.bkl-discovery h4{font-size:1.4rem;margin:0 0 18px}.bkl-discovery .bkl-practice{margin-top:12px}.bkl-discovery a:focus-visible{outline:3px solid #ed931c;outline-offset:3px}

.bkl-series-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bkl-series-grid .bkl-practice{padding:20px;margin:0;min-width:0}.bkl-series-grid h5{font-size:21px;margin:12px 0 24px}.bkl-series-grid .bkl-button{font-size:15px;padding:12px}.bkl-series-grid .bkl-readable{font-size:14px}.bkl-series-grid .bkl-readable ol{padding-left:18px}.bkl-series-grid .bkl-readable .bkl-button{width:auto}@media(max-width:900px){.bkl-series-grid{grid-template-columns:1fr}}
