/* Simple Learning Hub — Explorable Science Lab */
.xlab{--pp:#fbfaf6;--pk:#26262e;--pm:#6b6a72;--pl:#e7e2d6;--acc:#e8590c;margin:8px 0 18px;color:var(--pk)}
.xl-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.xl-strip::-webkit-scrollbar{display:none}
.xl-strip button{flex:0 0 auto;display:flex;align-items:center;gap:6px;border:1.5px solid var(--pk);background:var(--pp);color:var(--pk);border-radius:999px;padding:7px 13px;font:600 13.5px/1.1 system-ui,sans-serif;cursor:pointer;box-shadow:0 2px 0 var(--pk)}
.xl-strip button span{font-size:16px}
.xl-strip button[aria-current=true]{background:#26262e;color:#fff;box-shadow:0 2px 0 #000}
.xl-book{display:grid;grid-template-columns:1fr;gap:0;background:var(--pp);border-radius:14px;box-shadow:0 1px 0 #d8d2c4,0 10px 30px rgba(10,20,30,.18);overflow:hidden;border:1px solid #e3ddcf}
.xl-page{background:var(--pp);position:relative}
.xl-fig{padding:0 0 6px;border-bottom:1px dashed #d9d3c6;background:radial-gradient(120% 80% at 50% 40%,#fffefb 0,#f6f3ea 100%)}
.xl-stage{position:relative;width:100%;height:min(58vh,410px);min-height:300px;touch-action:pan-y;user-select:none;-webkit-user-select:none;overflow:hidden}
.xl-stage canvas{display:block;position:absolute;inset:0;outline:none;-webkit-tap-highlight-color:transparent}
.xl-labels{position:absolute;inset:0;pointer-events:none}
.xl-tag{position:absolute;left:0;top:0;white-space:nowrap;font:600 11.5px/1.15 system-ui,sans-serif;color:var(--pk);background:rgba(255,255,255,.92);border:1.2px solid var(--pk);border-radius:7px;padding:3px 6px;box-shadow:0 1.5px 0 var(--pk);will-change:transform}
.xl-tag i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:0;border:1px solid var(--pk)}
.xl-tag b{font-weight:800}
.xl-tag.jar{font-size:10.5px;padding:2px 5px 2px 4px}.xl-tag.jar i{width:7px;height:7px;margin-right:3px}.xl-tag.jn{font-size:10px;font-style:normal;color:#3b3a44}
.xl-tag.tap{pointer-events:auto;cursor:pointer}
.xl-tag.soft{border-color:transparent;box-shadow:none;background:transparent;font-weight:700;font-style:italic;color:#4b4a55}
.xl-tag.big{font-size:13px}
.xl-hud{position:absolute;left:8px;bottom:8px;white-space:nowrap;pointer-events:none;font:600 11.5px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--pk);background:rgba(255,255,255,.88);border:1.2px solid var(--pk);border-radius:8px;padding:5px 8px;box-shadow:0 1.5px 0 var(--pk);max-width:calc(100% - 16px);overflow:hidden}
.xl-hud:empty{display:none}
.xl-hud b{font-weight:800}
.xl-hud .t{color:var(--acc)}
.xl-toast{z-index:6;position:absolute;left:50%;top:10px;transform:translate(-50%,-20px);opacity:0;transition:.25s;background:#26262e;color:#fff;font:600 13px/1.3 system-ui,sans-serif;padding:7px 12px;border-radius:999px;pointer-events:none;max-width:92%;text-align:center}
.xl-toast.on{opacity:1;transform:translate(-50%,0)}
.xl-load{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:rgba(251,250,246,.6)}
.xl-load.on{display:flex}
.xl-load i{width:30px;height:30px;border:3px solid #26262e;border-right-color:transparent;border-radius:50%;animation:xlspin .8s linear infinite}
@keyframes xlspin{to{transform:rotate(360deg)}}
.xl-ctrls{display:flex;flex-wrap:wrap;gap:7px;padding:8px 10px 2px;justify-content:center}
.xl-b{border:1.5px solid var(--pk);background:#fff;color:var(--pk);border-radius:10px;padding:8px 12px;font:700 13.5px/1.1 system-ui,sans-serif;cursor:pointer;box-shadow:0 2px 0 var(--pk);min-height:38px}
.xl-b:active{transform:translateY(2px);box-shadow:none}
.xl-b[aria-pressed=true]{background:#ffe08a}
.xl-b.ghost{background:transparent}
.xl-b.go{background:#26262e;color:#fff}
.xl-b:focus-visible,.xl-strip button:focus-visible{outline:3px solid #ffb703;outline-offset:2px}
.xl-cap{margin:6px 14px 4px;font:italic 13.5px/1.4 Georgia,'Times New Roman',serif;color:var(--pm)}
.xl-cap b{font-style:normal;color:var(--pk);margin-right:4px}
.xl-text{padding:16px 18px 18px;font:16.5px/1.6 Georgia,'Noto Serif','Noto Serif Devanagari','Times New Roman',serif;color:var(--pk)}
.xl-text h2{font:700 26px/1.15 Georgia,'Noto Serif Devanagari',serif;margin:2px 0 10px;color:var(--pk)}
.xl-text h3{font:800 14px/1.2 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;margin:18px 0 8px;color:var(--pk)}
.xl-text p{margin:0 0 10px}
.xl-text b{color:#111}
.xl-kick{font:700 12px/1.2 system-ui,sans-serif!important;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)!important;margin:0 0 4px!important}
.xl-formula{margin:12px 0;padding:10px 12px;border:1.5px solid var(--pk);border-radius:10px;background:#fff;font:600 16px/1.5 Georgia,serif;text-align:center;box-shadow:0 2px 0 var(--pk)}
.xl-keys{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:15px}
.xl-keys dt{font-weight:700;font-family:system-ui,sans-serif;font-size:13.5px;background:#fff3c4;border-radius:6px;padding:2px 7px;align-self:start}
.xl-keys dd{margin:0}
.xl-pred,.xl-task{margin:16px 0 0;padding:12px 14px;border-radius:12px;border:1.5px dashed var(--pk);background:#fff}
.xl-pred h3,.xl-task h3{margin-top:0}
.xl-opts{display:grid;gap:6px;margin:6px 0 8px}
.xl-opts label{display:flex;gap:8px;align-items:center;border:1.2px solid #cfc9bb;border-radius:9px;padding:7px 10px;cursor:pointer;font-family:system-ui,sans-serif;font-size:15px;background:var(--pp)}
.xl-opts input{width:18px;height:18px;accent-color:#26262e}
.xl-flap summary{cursor:pointer;font:700 14px system-ui,sans-serif;padding:8px 10px;border-radius:9px;background:repeating-linear-gradient(45deg,#f3efe4,#f3efe4 6px,#ebe6d8 6px,#ebe6d8 12px);border:1.2px solid #cfc9bb}
.xl-flap[open] summary{margin-bottom:8px}
.xl-task{border-style:solid;background:#f3fbf5;border-color:#1f7a3f}
.xl-task .xl-ok{display:none;font:700 15px system-ui,sans-serif;color:#1f7a3f;margin:6px 0 0}
.xl-task[data-done="1"] .xl-ok{display:block}
.xl-task[data-done="1"]{background:#dff5e6}
.xl-ti input{width:110px;padding:8px;border:1.5px solid var(--pk);border-radius:9px;font:600 16px system-ui,sans-serif}
.xl-ti.bad input{animation:xlshake .35s;border-color:#c62828}
@keyframes xlshake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.xl-note{font-size:13.5px;color:var(--pm);margin-top:12px!important}
.xl-turn{display:flex;justify-content:space-between;gap:8px;margin-top:18px;flex-wrap:wrap}
.xl-turn .xl-b{max-width:100%;white-space:normal;text-align:left}
.xl-chart{width:100%;height:150px;display:block;background:#fff;border:1.2px solid #cfc9bb;border-radius:10px;margin:8px 0}
html[data-ui=hi] .xl-text{font-size:17px}
@media (min-width:900px){
 .xl-book{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);background:linear-gradient(90deg,var(--pp) 0,var(--pp) calc(46.5% - 14px),#e9e4d7 46.5%,var(--pp) calc(46.5% + 14px))}
 .xl-text{order:1;padding:28px 30px;border-right:1px solid #e1dbcd;max-height:760px;overflow:auto}
 .xl-fig{order:2;border-bottom:0;display:flex;flex-direction:column}
 .xl-stage{height:600px;flex:1}
}
@media (prefers-reduced-motion:reduce){.xl-toast{transition:none}}
.xl-stage canvas.xl-mini{position:absolute;inset:auto;right:8px;top:8px;width:42%;max-width:240px;height:92px;background:rgba(255,255,255,.92);border:1.2px solid #26262e;border-radius:8px;box-shadow:0 1.5px 0 #26262e;pointer-events:none}

.xl-tabs{display:flex;gap:6px;margin:6px 0 10px;overflow-x:auto}.xl-tabs a{flex:0 0 auto;padding:7px 14px;border:1.5px solid #26262e;border-radius:999px;background:#fff;color:#26262e;font:700 14px/1.2 system-ui,sans-serif;text-decoration:none;box-shadow:0 1.5px 0 #26262e}.xl-tabs a[aria-current]{background:#ffd166}.xl-tabs .ui{font-weight:600;opacity:.75}html:not([data-ui=hi]) .xl-tabs .ui{display:none}html[data-ui=hi] .xl-tabs a{font-size:13px}
