/* LearnAI — Live Lab panel (instructor-gated real-model demo). On-brand. */
#livelab{margin:26px 0 6px;font-family:'Source Serif 4',Georgia,serif}
.ll-card{border:1px solid rgba(7,20,64,.1);border-radius:22px;overflow:hidden;
  background:linear-gradient(160deg,#fffdf7,#fff5e9);box-shadow:0 30px 80px -44px rgba(7,20,64,.55)}
.ll-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 22px;border-bottom:1px solid rgba(7,20,64,.08);
  background:linear-gradient(90deg,rgba(2,155,167,.09),rgba(36,118,255,.05))}
.ll-badge{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;
  background:linear-gradient(135deg,#029ba7,#2476ff);padding:6px 13px;border-radius:999px}
.ll-sub{font-size:13.5px;color:#5a678a;font-weight:600}
.ll-body{padding:24px 24px 26px}
.ll-h{font-size:1.5rem;color:#06143d;margin:0 0 8px;letter-spacing:-.02em}
.ll-p{font-size:15.5px;line-height:1.55;color:#414c67;margin:0 0 16px;max-width:64ch}
.ll-p strong{color:#06143d}

.ll-form{display:flex;gap:10px;flex-wrap:wrap;max-width:520px}
.ll-form input{flex:1 1 240px;min-width:0;height:48px;padding:0 15px;border-radius:12px;border:1px solid rgba(7,20,64,.16);
  background:#fff;font:inherit;font-size:15px;color:#06143d}
.ll-form input:focus{outline:none;border-color:#029ba7;box-shadow:0 0 0 3px rgba(2,155,167,.18)}

.ll-btn{height:48px;padding:0 22px;border:0;border-radius:12px;cursor:pointer;font:inherit;font-size:15px;font-weight:700;
  transition:transform .15s,box-shadow .25s,filter .2s}
.ll-btn.primary{background:linear-gradient(135deg,#029ba7,#2476ff);color:#fff;box-shadow:0 16px 32px -18px rgba(4,120,150,.9)}
.ll-btn.primary:hover{transform:translateY(-1px);filter:brightness(1.05)}
.ll-btn[disabled]{opacity:.5;cursor:default;transform:none;filter:none}
.ll-link{background:none;border:0;color:#5a678a;font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ll-link:hover{color:#029ba7}

.ll-userbar{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.ll-who{font-size:13px;font-weight:700;color:#1c7d52;background:rgba(34,160,107,.1);border:1px solid rgba(34,160,107,.26);padding:5px 12px;border-radius:999px}
.ll-userbar .ll-link{margin-left:auto}

.ll-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 4px}
.ll-side{display:flex;flex-direction:column;gap:8px}
.ll-lab{font-size:12.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ll-lab.lazy{color:#b4552e}.ll-lab.strong{color:#037681}
.ll-ta{width:100%;box-sizing:border-box;border-radius:13px;border:1.5px solid rgba(7,20,64,.14);padding:12px 14px;
  font:inherit;font-size:14.5px;line-height:1.5;color:#2f3a55;background:#fff;resize:vertical;min-height:104px}
.ll-side:first-child .ll-ta:focus{outline:none;border-color:#df744a;box-shadow:0 0 0 3px rgba(223,116,74,.16)}
.ll-side:last-child .ll-ta:focus{outline:none;border-color:#029ba7;box-shadow:0 0 0 3px rgba(2,155,167,.16)}
@media (max-width:720px){.ll-grid{grid-template-columns:1fr}}

.ll-run{display:flex;align-items:center;gap:14px;margin:16px 0 0;flex-wrap:wrap}
.ll-msg{font-size:14px;line-height:1.5;margin:12px 0 0;min-height:1px;color:#5a678a}
.ll-msg.ok{color:#1c7d52}.ll-msg.err{color:#b23b2e}

.ll-out{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 2px}
.ll-ans{border-radius:14px;overflow:hidden;border:1px solid rgba(7,20,64,.12);background:#fff}
.ll-anh{padding:10px 14px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ll-anh.lazy{background:rgba(223,116,74,.1);color:#b4552e}
.ll-anh.strong{background:rgba(2,155,167,.1);color:#037681}
.ll-anb{padding:14px 16px;font-size:14.5px;line-height:1.6;color:#2f3a55;white-space:pre-wrap;min-height:40px}
@media (max-width:720px){.ll-out{grid-template-columns:1fr}}

/* ---- access gate (whole-page email OTP) --------------------------------- */
.llg-scrim{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:22px;
  background:linear-gradient(160deg,#fffdf7,#fff2e4);font-family:'Source Serif 4',Georgia,serif}
.llg-card{width:min(460px,100%);background:#fff;border:1px solid rgba(7,20,64,.1);border-radius:22px;
  box-shadow:0 40px 110px -40px rgba(7,20,64,.55);overflow:hidden}
.llg-card::before{content:"";display:block;height:4px;background:linear-gradient(90deg,#029ba7,#2476ff 60%,#8057ff)}
.llg-brand{padding:20px 26px 0}
.llg-badge{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;
  background:linear-gradient(135deg,#029ba7,#2476ff);padding:6px 13px;border-radius:999px}
.llg-body{padding:16px 26px 28px}
.llg-h{font-size:1.5rem;color:#06143d;margin:8px 0 8px;letter-spacing:-.02em}
.llg-p{font-size:15px;line-height:1.55;color:#414c67;margin:0 0 16px}
.llg-p strong{color:#06143d}
.llg-loading{font-size:15px;color:#67728d;margin:20px 0}
.llg-form{display:flex;flex-direction:column;gap:10px}
.llg-form input{height:48px;padding:0 15px;border-radius:12px;border:1px solid rgba(7,20,64,.16);background:#fff;font:inherit;font-size:16px;color:#06143d}
.llg-form input:focus{outline:none;border-color:#029ba7;box-shadow:0 0 0 3px rgba(2,155,167,.18)}
#llg-code{letter-spacing:.4em;text-align:center;font-weight:700}
.llg-btn{height:48px;border:0;border-radius:12px;cursor:pointer;font:inherit;font-size:15.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,#029ba7,#2476ff);box-shadow:0 16px 32px -18px rgba(4,120,150,.9);transition:filter .2s,transform .15s}
.llg-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.llg-btn[disabled]{opacity:.55;cursor:default;transform:none}
.llg-msg{font-size:14px;line-height:1.5;margin-top:12px;min-height:1px;color:#5a678a}
.llg-msg.err{color:#b23b2e}
.llg-link{display:block;background:none;border:0;color:#5a678a;font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px;margin-top:14px;padding:0}
.llg-link:hover{color:#029ba7}
