
/* ===== LärLab v14: laddning, helskärmsquiz, mål ===== */
.ll-spin{display:none !important}
.ll-loadring{border:none !important;background:none !important;width:auto !important;height:auto !important}
.ll-loadring::before{display:none !important;content:none !important;animation:none !important}
.ll-loadwrap{gap:10px}
.ll-loadinner{font-size:clamp(26px,6vw,46px) !important;line-height:1.15;animation:none !important}
.llw{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;font-family:Sora,system-ui,sans-serif;font-weight:800}
.llw span{display:inline-block;animation:llw-wave 1.25s ease-in-out infinite;animation-delay:calc(var(--i) * 55ms)}
.llw i.llw-dot{display:inline-block;font-style:normal;animation:llw-dot 1.2s ease-in-out infinite;animation-delay:calc(var(--i) * 180ms)}
@keyframes llw-wave{0%,100%{transform:translateY(0)}35%{transform:translateY(-.18em)}70%{transform:translateY(.08em)}}
@keyframes llw-dot{0%,100%{opacity:.15;transform:translateY(0)}45%{opacity:1;transform:translateY(-.25em)}}
@media(prefers-reduced-motion:reduce){.llw span,.llw i.llw-dot,.ll-rewardfly,.ll-scoretick{animation:none}}
.ll-goaledit{margin-left:6px;border:1px solid color-mix(in oklab,var(--cream) 22%,transparent);background:transparent;color:inherit;
  border-radius:99px;padding:2px 9px;font:inherit;font-size:11px;cursor:pointer}
.ll-goaledit:hover{border-color:var(--brand)}
.ll-goaledit:disabled{opacity:.48;cursor:not-allowed}
.ll-goalover,.ll-weekwin{position:fixed;inset:0;z-index:1200;background:color-mix(in oklab,var(--ink) 76%,transparent);display:grid;place-items:center;padding:20px}
.ll-goalsheet,.ll-weekcard{position:relative;width:min(440px,100%);padding:26px;border:1px solid color-mix(in oklab,var(--cream) 18%,transparent);border-radius:18px;background:var(--ink);color:var(--cream);box-shadow:0 24px 80px color-mix(in oklab,var(--ink) 62%,transparent);text-align:center}
.ll-goalsheet h3,.ll-weekcard h2{font-family:Sora,system-ui,sans-serif;margin:0 0 9px}
.ll-goalsheet p,.ll-weekcard p{margin:0 0 18px;line-height:1.55}
.ll-goalvalue{font-family:Sora,system-ui,sans-serif;font-size:48px;font-weight:800;color:var(--brand);margin:12px 0 2px}
.ll-goalrange{width:100%;accent-color:var(--brand);cursor:pointer;margin:14px 0 5px}
.ll-goalmarks{display:flex;justify-content:space-between;font-size:12px;opacity:.65;margin-bottom:18px}
.ll-goalactions{display:flex;gap:10px}.ll-goalactions button{flex:1}
.ll-weekx{position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:50%;border:1px solid color-mix(in oklab,var(--cream) 18%,transparent);background:transparent;color:inherit;font-size:20px;cursor:pointer}
.ll-weekbadge{width:70px;height:70px;margin:0 auto 15px;border-radius:50%;display:grid;place-items:center;background:color-mix(in oklab,var(--brand) 20%,transparent);font-size:34px}
.ll-weekpoints{font-family:Sora,system-ui,sans-serif;font-weight:800;font-size:28px;color:var(--brand)}
.ll-rewardfly{position:fixed;z-index:1400;pointer-events:none;color:var(--brand);font-family:Sora,system-ui,sans-serif;font-weight:900;font-size:28px;animation:ll-reward-fly 1.15s cubic-bezier(.2,.8,.2,1) forwards}
.ll-scoretick{animation:ll-score-pop .18s ease-out}
@keyframes ll-reward-fly{0%{transform:translate(-50%,-50%) rotate(-8deg) scale(.75);opacity:0}18%{opacity:1;transform:translate(-50%,-65%) rotate(5deg) scale(1.08)}100%{left:var(--to-x);top:var(--to-y);transform:translate(-50%,-50%) rotate(340deg) scale(.35);opacity:0}}
@keyframes ll-score-pop{50%{transform:scale(1.24);color:var(--brand)}}
.ll-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:10px;padding:12px 16px;border-radius:14px;
  border:1px solid color-mix(in oklab,var(--cream) 22%,transparent);background:color-mix(in oklab,var(--cream) 6%,transparent);
  color:var(--cream);font:inherit;font-weight:600;cursor:pointer}
.ll-google:hover{border-color:var(--brand)}
.ll-or{margin:12px 0 2px;text-align:center;font-size:12px;opacity:.6}
.ll-google-choice{display:flex;align-items:center;gap:10px;margin-top:12px;font-weight:700}
.ll-google-icon{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid color-mix(in oklab,var(--cream) 22%,transparent);background:color-mix(in oklab,var(--cream) 7%,transparent);cursor:pointer}
.ll-google-icon:hover{border-color:var(--brand);transform:translateY(-1px)}
.ll-google-icon:disabled{opacity:.55;cursor:wait}
.ll-auth-note{margin:8px 0 0;font-size:13px;opacity:.72}
.ll-account-row{display:flex;align-items:center;gap:11px;margin:12px 0}
.ll-account-row img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.ll-account-row p{margin:3px 0 0;font-size:13px;opacity:.72}
.llfq{position:fixed;inset:0;z-index:999;background:var(--ink);color:var(--cream);overflow-y:auto;padding:26px 18px 60px}
.llfq-in{max-width:760px;margin:0 auto}
.llfq-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.llfq-top b{font-family:Sora,system-ui,sans-serif;font-size:18px}
.llfq-x{border:1px solid color-mix(in oklab,var(--cream) 20%,transparent);background:transparent;color:inherit;border-radius:99px;padding:6px 14px;cursor:pointer;font:inherit}
.llfq-bar{height:8px;border-radius:99px;background:color-mix(in oklab,var(--cream) 12%,transparent);margin:16px 0 22px;overflow:hidden}
.llfq-bar>div{height:100%;background:var(--brand);transition:width .3s}
.llfq h2{font-family:Sora,system-ui,sans-serif;font-size:clamp(22px,4vw,32px);margin:0 0 18px}
.llfq-opt{display:block;width:100%;text-align:left;margin:0 0 12px;padding:16px 18px;border-radius:16px;font:inherit;cursor:pointer;
  border:1px solid color-mix(in oklab,var(--cream) 16%,transparent);background:color-mix(in oklab,var(--cream) 5%,transparent);color:inherit}
.llfq-opt:hover{border-color:var(--brand)}
.llfq-opt.right{border-color:var(--correct)!important;background:color-mix(in oklab,var(--correct) 22%,transparent)!important}
.llfq-opt.wrong{border-color:var(--red);background:color-mix(in oklab,var(--red) 20%,transparent)}
.llfq-fb{margin:14px 0 0;font-size:15px;line-height:1.6;opacity:.85}
.llfq-big{font-family:Sora,system-ui,sans-serif;font-size:clamp(36px,10vw,72px);margin:10px 0}
