/* SLH Physics Learn — figures, formulas, examples, simulations, quiz. Uses the site's CSS variables (style.css) so it follows the site theme. */
.phy .kick{letter-spacing:.06em}
.phy h2.plain{border-top:0;margin-top:1.2em}
.phy .ppart{font-weight:800;color:var(--mut);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;margin:18px 0 6px}
.phy .endc.soon{opacity:.62}
/* figures: full diagram inline, tap opens the zoom viewer */
.pfig{margin:16px 0 18px;padding:0}
.pfig .pfa{display:block;position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(8,28,44,.06),0 8px 24px rgba(8,28,44,.08);-webkit-tap-highlight-color:transparent;transition:transform .15s ease,box-shadow .15s ease}
.pfig .pfa:active{transform:scale(.99)}
.pfig img{display:block;width:100%;height:auto;aspect-ratio:auto}
html[data-ln=hi] .pfig img.ien,html:not([data-ln=hi]) .pfig img.ihi{display:none}
.pfig .pfa{padding-bottom:36px}
.pfig .zb{position:absolute;right:8px;bottom:6px;display:inline-flex;align-items:center;gap:6px;background:rgba(8,28,44,.86);color:#fff;font-size:.74rem;font-weight:700;padding:5px 10px 5px 8px;border-radius:999px;backdrop-filter:blur(4px)}
.pfig .zb::before{content:"";width:14px;height:14px;background:no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21M10.5 7.5v6M7.5 10.5h6'/%3E%3C/svg%3E")}
.pfig figcaption{padding:8px 4px 0;font-size:.9rem;line-height:1.4}
.pfig figcaption small{display:block;color:var(--mut);font-size:.76rem;margin-top:2px}
/* formulas */
.peq{margin:14px 0;padding:14px 14px 12px;border-radius:14px;background:linear-gradient(180deg,var(--soft),var(--card));border:1px solid var(--line);text-align:center}
.peq .eqm{font:500 1.1rem/1.7 "Cambria Math","STIX Two Math","Times New Roman",Georgia,serif;color:var(--ink);overflow-x:auto;padding-bottom:2px;overflow-wrap:anywhere}
@media(max-width:420px){.peq .eqm{font-size:1.02rem}}
.peq .eqm b{font-weight:800}
.peq .eqn{font-size:.84rem;color:var(--mut);margin-top:6px;line-height:1.45}
.fr{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 3px;line-height:1.2}
.fr>span:first-child{border-bottom:1.3px solid currentColor;padding:0 3px 1px}
.fr>span:last-child{padding:1px 3px 0}
/* boxes */
.pbox{margin:16px 0;border-radius:14px;padding:12px 14px 4px;border:1px solid var(--line);background:var(--card);position:relative}
.pbox .pbt{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-bottom:4px}
.pbox.note{border-left:4px solid #0e7490}.pbox.note .pbt{background:rgba(14,116,144,.12);color:#0e7490}
.pbox.top{border-left:4px solid #c9a227;background:linear-gradient(180deg,rgba(201,162,39,.08),var(--card) 60%)}.pbox.top .pbt{background:rgba(201,162,39,.18);color:#8a6d0b}
.pbox.warn{border-left:4px solid #c62828}.pbox.warn .pbt{background:rgba(198,40,40,.1);color:#c62828}
.pbox.life{border-left:4px solid #2e7d32}.pbox.life .pbt{background:rgba(46,125,50,.12);color:#2e7d32}
[data-theme=dark] .pbox.top .pbt{color:#f0d36b}[data-theme=dark] .pbox.note .pbt{color:#7fd8ec}
/* examples */
.pex{margin:16px 0;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:10px 14px 8px;box-shadow:0 1px 2px rgba(8,28,44,.05)}
.pex .exh{font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#2e7d32;margin-bottom:2px}
.pex .exh .src{color:var(--mut);font-weight:600;text-transform:none;letter-spacing:0;margin-left:6px}
.pex details.sol>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-weight:700;font-size:.9rem;color:var(--link);padding:7px 14px;border:1.5px solid var(--line);border-radius:999px;margin:2px 0 8px}
.pex details.sol>summary::-webkit-details-marker{display:none}
.pex details.sol>summary::after{content:"▾";font-size:.8em}
.pex details[open].sol>summary::after{content:"▴"}
.pex details.sol[open]>summary{background:var(--soft)}
.pul li{margin:4px 0}
/* simulation strip + cards */
.simstrip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.simstrip::-webkit-scrollbar{display:none}
.simc{flex:none;display:flex;align-items:center;gap:8px;max-width:210px;padding:9px 12px;border-radius:14px;background:linear-gradient(135deg,#0c2b40,#0d4f5f);color:#fff;text-decoration:none;font-size:.86rem;line-height:1.25;box-shadow:0 4px 14px rgba(8,28,44,.18)}
.simc b{font-weight:700}.simc .si{font-size:1.2rem}
.psim{margin:18px -4px;border-radius:18px;overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:0 2px 4px rgba(8,28,44,.05),0 12px 32px rgba(8,28,44,.10);scroll-margin-top:80px}
.psim .psh{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;background:linear-gradient(135deg,#0c2b40,#0d4f5f);color:#fff;font-weight:800;font-size:1rem}
.psim .pbadge{font-size:.62rem;letter-spacing:.12em;background:#ffd21f;color:#081c2c;padding:3px 7px;border-radius:999px;font-weight:900}
.psim .psd{margin:10px 14px 6px;font-size:.88rem;color:var(--mut);line-height:1.5}
.psim .psb{padding:4px 12px 14px}
.psim canvas{display:block;width:100%;border-radius:12px;background:#f7fbfd;touch-action:none;border:1px solid var(--line)}
[data-theme=dark] .psim canvas{background:#0b1a26}
.psim .ctl{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 10px;margin:10px 2px 0;font-size:.88rem}
.psim .ctl label{font-weight:700;color:var(--ink);white-space:nowrap}
.psim .ctl output{font-variant-numeric:tabular-nums;font-weight:700;color:var(--link);min-width:4.6em;text-align:right;white-space:nowrap}
.psim input[type=range]{width:100%;accent-color:#0e7490;height:28px}
.psim .btns{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.psim .btns button{font:inherit;font-size:.82rem;font-weight:700;padding:8px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;min-height:38px}
.psim .btns button.on,.psim .btns button:active{background:#0c2b40;color:#fff;border-color:#0c2b40}
.psim .btns button.pri{background:#ffd21f;border-color:#e6bc00;color:#081c2c}
.psim .read{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:var(--soft);font-size:.9rem;line-height:1.5}
.psim .read b{color:var(--ink)}
.psim .read .big{font:700 1.15rem/1.3 "Cambria Math","Times New Roman",Georgia,serif;color:var(--link)}
.psim .hint{font-size:.78rem;color:var(--mut);margin:6px 2px 0}
.psim .s3d{position:relative;height:340px;border-radius:12px;overflow:hidden;background:radial-gradient(110% 80% at 50% 40%,#25303b 0%,#11171e 55%,#050608 100%)}
.psim .s3d canvas{border:0;background:transparent;height:100%}
.psim .s3d .ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#eaf2f8;text-align:center;padding:16px;font-size:.9rem}
.psim .s3d .chip3{position:absolute;left:10px;top:10px;background:rgba(0,0,0,.55);color:#fff;font-size:.78rem;padding:5px 9px;border-radius:999px;pointer-events:none}
/* formula sheet */
.fgrid{display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:620px){.fgrid{grid-template-columns:1fr 1fr}}
.fcard{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:10px 12px}
.fcard .fq{font:500 1.05rem/1.6 "Cambria Math","Times New Roman",Georgia,serif;overflow-x:auto;color:var(--ink)}
.fcard .fn{font-size:.82rem;color:var(--mut)}
.rev li{margin:6px 0}
/* quiz */
.pquiz .qc{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:12px 14px;margin:10px 0}
.pquiz .qn{font-size:.74rem;font-weight:800;color:var(--mut);letter-spacing:.06em}
.pquiz .qq{font-weight:700;margin:4px 0 8px;line-height:1.5}
.pquiz .qo{display:block;width:100%;text-align:left;font:inherit;font-size:.95rem;padding:10px 12px;margin:6px 0;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
.pquiz .qo.ok{border-color:var(--ok);background:var(--okbg)}
.pquiz .qo.bad{border-color:var(--bad);background:var(--badbg)}
.pquiz .qw{font-size:.88rem;color:var(--mut);margin-top:6px;line-height:1.5}
.pquiz .qs{position:sticky;bottom:72px;margin:10px auto 0;width:max-content;max-width:100%;background:#0c2b40;color:#fff;font-weight:800;padding:8px 14px;border-radius:999px;font-size:.88rem;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.pnext{margin:18px 0}

html[data-ln="hi"] svg tspan.ch{display:inline}html[data-ln="hi"] svg tspan.ce{display:none}
