/* lesson switcher + portfolio link (shared by every page) */
.lsw-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:10px;
 padding:10px max(12px,env(safe-area-inset-left)) 10px max(12px,env(safe-area-inset-right));
 background:rgba(12,16,34,.86);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);
 border-bottom:1px solid rgba(140,160,255,.18);font:600 14px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#eef1ff}
.lsw-bar *{box-sizing:border-box}
.lsw-pill{position:relative;flex:0 1 560px;min-width:0;padding:2px;border-radius:999px;
 background:conic-gradient(from var(--lsw-a,0deg),#38e1ff,#8b5cff,#ff5ccf,#ffd25c,#38e1ff);animation:lsw-spin 6s linear infinite;
 box-shadow:0 0 18px rgba(120,110,255,.45),0 0 42px rgba(56,225,255,.18)}
@property --lsw-a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes lsw-spin{to{--lsw-a:360deg}}
.lsw-track{position:relative;display:grid;grid-template-columns:repeat(var(--n,3),1fr);border-radius:999px;background:#0d1230;padding:4px}
.lsw-ind{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/var(--n,3));border-radius:999px;
 background:linear-gradient(120deg,#38e1ff,#8b5cff 55%,#ff5ccf);box-shadow:0 0 16px rgba(139,92,255,.7),inset 0 1px 0 rgba(255,255,255,.45);
 transform:translateX(calc(var(--i,0)*100%));transition:transform .55s cubic-bezier(.65,-0.25,.3,1.35)}
.lsw-ind::after{content:"";position:absolute;inset:0;border-radius:inherit;
 background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);background-size:250% 100%;animation:lsw-shine 3.2s ease-in-out infinite}
@keyframes lsw-shine{0%{background-position:120% 0}60%,100%{background-position:-120% 0}}
.lsw-tab{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 10px;
 border-radius:999px;color:#b9c2ec;text-decoration:none;white-space:nowrap;transition:color .25s,transform .15s;-webkit-tap-highlight-color:transparent}
.lsw-tab:hover{color:#fff}
.lsw-tab:hover .lsw-ico{transform:scale(1.15)}
.lsw-tab:active{transform:scale(.94)}
.lsw-tab:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.lsw-tab[aria-current="page"]{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.lsw-ico{width:20px;height:20px;flex:none;transition:transform .3s}
.lsw-orbit{transform-origin:12px 12px;animation:lsw-orbit 2.4s linear infinite}
.lsw-tab:not([aria-current]) .lsw-orbit{animation-duration:6s}
@keyframes lsw-orbit{to{transform:rotate(360deg)}}
.lsw-short{display:none}
.lsw-port{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;color:#eef1ff;text-decoration:none;
 border:1px solid rgba(160,170,255,.35);background:rgba(255,255,255,.06);transition:background .2s,transform .15s,box-shadow .2s}
.lsw-port:hover{background:rgba(255,255,255,.14);box-shadow:0 0 14px rgba(56,225,255,.35)}
.lsw-port:active{transform:scale(.94)}
.lsw-port svg{width:16px;height:16px}
.lsw-where{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:620px){.lsw-long{display:none}.lsw-short{display:inline}.lsw-tab{gap:5px;padding:0 4px;font-size:13px}.lsw-ico{width:17px;height:17px}
 .lsw-port{padding:0 11px}.lsw-port span{display:none}.lsw-bar{gap:7px}}
@media (prefers-reduced-motion:reduce){.lsw-pill,.lsw-ind::after,.lsw-orbit{animation:none}.lsw-ind,.lsw-tab,.lsw-port{transition:none}}
.lsw-bar a.lsw-tab,.lsw-bar a.lsw-port{margin:0;border-radius:999px;box-shadow:none;font:inherit;letter-spacing:0;text-transform:none}
.lsw-bar a.lsw-tab,.lsw-bar a.lsw-tab:hover{background:transparent;border:0}
.lsw-bar a.lsw-port{border:1px solid rgba(160,170,255,.35);background:rgba(255,255,255,.06)}
.lsw-bar a.lsw-port:hover{background:rgba(255,255,255,.14);box-shadow:0 0 14px rgba(56,225,255,.35)}
.lsw-pill,.lsw-track{display:block}.lsw-track{display:grid}
html{scroll-padding-top:88px}
