
/* === LärLab tillägg: laddning, källor, veckans pass === */
.shelf-coach{border-top:1px solid color-mix(in oklab,var(--cream) 10%,transparent);margin-top:16px;padding-top:16px}
.ll-loadwrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52vh;text-align:center;gap:18px}
.ll-loadring{position:relative;display:grid;place-items:center;width:min(300px,78vw);height:150px;border-radius:999px;
  border:2px solid color-mix(in oklab,var(--brand) 45%,transparent);background:color-mix(in oklab,var(--cream) 5%,transparent)}
.ll-loadring::before{content:"";position:absolute;inset:-2px;border-radius:999px;border:3px solid transparent;
  border-top-color:var(--brand);border-right-color:color-mix(in oklab,var(--brand) 55%,transparent);animation:ll-spin 1.05s linear infinite}
.ll-loadinner{font-family:Sora,system-ui,sans-serif;font-weight:700;font-size:19px;animation:ll-pulse 1.4s ease-in-out infinite}
.ll-loadsub{max-width:340px;font-size:13px;color:color-mix(in oklab,var(--cream) 60%,transparent);margin:0}
@keyframes ll-spin{to{transform:rotate(360deg)}}
@keyframes ll-pulse{0%,100%{opacity:1}50%{opacity:.55}}
.ll-src{margin:10px 0 4px;font-size:13px;color:color-mix(in oklab,var(--cream) 70%,transparent)}
.ll-src b{font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.ll-src a{display:inline-block;margin:4px 6px 0 0;padding:5px 11px;border-radius:99px;text-decoration:none;color:inherit;
  border:1px solid color-mix(in oklab,var(--cream) 18%,transparent);background:color-mix(in oklab,var(--cream) 6%,transparent)}
.ll-src a:hover{border-color:var(--brand)}
.ll-passbox{margin:12px 0 0;padding:12px 14px;border-radius:14px;font-size:14px;
  border:1px solid color-mix(in oklab,var(--cream) 16%,transparent);background:color-mix(in oklab,var(--cream) 5%,transparent)}
.ll-passbox.ok{border-color:color-mix(in oklab,var(--brand) 60%,transparent)}
.ll-passbox.no{border-color:color-mix(in oklab,var(--red) 55%,transparent)}
@media(prefers-reduced-motion:reduce){.ll-loadring::before,.ll-loadinner{animation:none}}

.ll-srclist{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:10px}
.ll-srclist .ll-srclink{max-width:none!important;padding:10px 14px!important;border-radius:14px!important;gap:3px!important}
.ll-srclist .ll-srcname{font-size:13.5px;white-space:normal}
.ll-srclist .ll-srcdom{font-size:12px;opacity:.72;line-height:1.35}
.ll-srcwait{font-size:13px;opacity:.7}
.ll-src>b{display:block;margin-bottom:2px}
