.empira-auth-pending body{visibility:hidden}
.empira-nav{display:flex;gap:12px;margin-left:auto;align-items:center;flex-wrap:wrap;font:600 13px Inter,sans-serif}
.empira-nav a{color:#3B4CFF;text-decoration:none;padding:10px 4px;min-height:44px;display:inline-flex;align-items:center}
.empira-recovery{max-width:580px;margin:15vh auto;padding:24px;font-family:Inter,sans-serif;color:#1A1D33}
.empira-recovery a,.empira-recovery button{display:inline-block;margin:12px;padding:12px}
[data-save-status]{font:400 12px Inter,sans-serif;color:#536079;margin:8px 16px;min-height:18px}
@media(max-width:600px){.empira-nav{gap:6px}.empira-nav a{font-size:11px}.labbar{flex-wrap:wrap}}

.choices[hidden]{display:none!important}

html.empira-auth-pending::after{content:'Empira';position:fixed;inset:0;display:grid;place-items:center;z-index:9999;background:#F4F5F9;color:#3B4CFF;font:800 30px Inter,sans-serif;letter-spacing:-.5px}
html.empira-auth-pending::before{content:'';position:fixed;left:50%;top:calc(50% + 32px);width:34px;height:34px;margin-left:-17px;border:3px solid #E7E9FF;border-top-color:#3B4CFF;border-radius:50%;animation:empAuthSpin .8s linear infinite;z-index:10000}
@keyframes empAuthSpin{to{transform:rotate(360deg)}}

/* ===== Lab home v2 (catalog.js) ===== */
.ec{--b:#3B4CFF;--b6:#2F3DE0;--b50:#EEF0FF;--amber:#FFB21E;--ink:#1A1D33;--ink7:#474C63;--ink5:#6B7191;--line:#ECEDF3;--mist:#ECEEF4;color:var(--ink);font-family:Inter,system-ui,sans-serif;margin:28px 0 8px}
.ec [hidden]{display:none!important}
.ec svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ec h2{font-size:20px;line-height:1.25;font-weight:700;letter-spacing:-.015em;margin:0}
.ec p{margin:4px 0 0;font-size:14px;line-height:1.45;font-weight:500;color:var(--ink5)}
.ec a{text-decoration:none;color:inherit}
.ec-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* continue */
.ec-continue{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:20px;background:linear-gradient(120deg,#3B4CFF 0%,#5563FF 100%);color:#fff!important;box-shadow:0 14px 34px rgba(59,76,255,.28);margin-bottom:36px;transition:transform .15s ease,box-shadow .15s ease}
.ec-continue:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(59,76,255,.34)}
.ec-continue__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.16);flex:none}
.ec-continue__icon svg{width:26px;height:26px}
.ec-continue__text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.ec-continue__label{font-size:13px;font-weight:500;opacity:.85}
.ec-continue strong{font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ec-continue__meta{font-size:13px;opacity:.85}
.ec-continue__go{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:#fff;color:var(--b);flex:none}

/* two choices */
.ec-grades{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.ec-grade{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:92px;background:#fff;border:1px solid var(--line);border-radius:20px;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}
.ec-grade__n{font-size:34px;font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ec-grade__n small{font-size:17px;font-weight:600;color:var(--ink7);letter-spacing:-.01em}
.ec-grade__meta{font-size:12.5px;font-weight:600;color:var(--b)}
.ec-grade.is-soon{background:transparent;border-style:dashed}
.ec-grade.is-soon .ec-grade__n,.ec-grade.is-soon .ec-grade__n small,.ec-grade.is-soon .ec-grade__meta{color:var(--ink5);font-weight:500}
.ec-grade.is-soon .ec-grade__n{font-weight:600}
.ec-grade:not(.is-soon)::after{content:"";position:absolute;top:12px;right:12px;width:8px;height:8px;border-radius:999px;background:#1E9E6A;box-shadow:0 0 0 3px rgba(30,158,106,.15)}
.ec-grade.is-current{background:var(--b50);border-color:var(--b);box-shadow:inset 0 0 0 1px var(--b)}
.ec-grade.is-current .ec-grade__n,.ec-grade.is-current .ec-grade__n small{color:var(--b)}
.ec-or{display:flex;align-items:center;gap:12px;margin:26px 0;font-size:14px;font-weight:500;color:var(--ink5)}
.ec-or::before,.ec-or::after{content:"";flex:1;height:1px;background:var(--line)}
.ec-scan{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:12px;height:76px;background:#fff;border:1px solid var(--line);border-radius:20px;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}
.ec-scan__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--b);color:#fff;transition:background .15s ease}
.ec-scan__label{font-size:19px;font-weight:600;letter-spacing:-.01em}
.ec-scan__note{display:none}
@media (hover:hover){
  .ec-grade:not(.is-soon):hover,.ec-scan:hover{background:var(--b50);border-color:var(--b);transform:translateY(-2px);box-shadow:0 10px 24px rgba(59,76,255,.12)}
  .ec-grade:not(.is-soon):hover .ec-grade__n,.ec-grade:not(.is-soon):hover .ec-grade__n small,.ec-scan:hover .ec-scan__label{color:var(--b)}
  .ec-scan:hover .ec-scan__icon{background:var(--b6)}
  .ec-grade.is-soon:hover{border-color:var(--ink5)}
}

/* search */
.ec-find{margin-top:44px;padding-top:36px;border-top:1px solid var(--line)}
.ec-search{display:flex;align-items:center;gap:12px;margin-top:14px;padding:0 18px;height:58px;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--ink5);transition:border-color .15s ease,box-shadow .15s ease}
.ec-search:focus-within{border-color:var(--b);box-shadow:0 0 0 4px rgba(59,76,255,.12)}
.ec-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font:500 16px Inter,system-ui,sans-serif;color:var(--ink)}
.ec-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ec-chips button{appearance:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font:500 13.5px Inter,system-ui,sans-serif;color:var(--ink7);cursor:pointer;min-height:38px}
.ec-chips button:hover{border-color:var(--b);color:var(--b)}
.ec-count{margin-top:14px!important;min-height:1px}
.ec-results,.ec-recent ul{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px}
.ec-results a,.ec-recent a{display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:border-color .15s ease,transform .15s ease}
.ec-results a:hover,.ec-recent a:hover{border-color:var(--b);transform:translateY(-1px)}
.ec-results strong,.ec-recent strong{font-size:15.5px;font-weight:600;line-height:1.35}
.ec-results small,.ec-recent small{font-size:13px;color:var(--ink5)}
.ec-tag{align-self:flex-start;font-size:11.5px;font-weight:600;color:var(--b);background:var(--b50);padding:3px 9px;border-radius:999px}
.ec-tag.is-build{color:#9A6400;background:#FFF3DB}
.ec-recent{margin-top:44px}

.ec :focus-visible{outline:3px solid var(--amber);outline-offset:3px}

@media (min-width:640px){
  .ec-grades{grid-template-columns:repeat(3,1fr);gap:14px}
  .ec-grade{height:108px}
  .ec-grade__n{font-size:40px}
  .ec-scan{height:96px}
}
@media (min-width:1024px){
  .ec-choices{display:grid;grid-template-columns:minmax(0,1fr) 72px 300px;grid-template-rows:auto auto 1fr}
  .ec-choice{grid-row:span 3;display:grid;grid-template-rows:subgrid}
  .ec-choice:first-child{grid-column:1}.ec-choice:last-child{grid-column:3}
  .ec-or{grid-column:2;grid-row:3;justify-content:center;margin:16px 0 0}
  .ec-or::before,.ec-or::after{display:none}
  .ec-grade{height:116px}
  .ec-grade__n{font-size:44px}
  .ec-scan{height:auto;flex-direction:column;gap:12px;padding:24px}
  .ec-scan__icon{width:60px;height:60px;border-radius:18px}
  .ec-scan__icon svg{width:30px;height:30px}
  .ec-scan__label{font-size:22px}
  .ec-scan__note{display:block;font-size:14px;font-weight:500;color:var(--ink5);text-align:center}
}
@media (prefers-reduced-motion:reduce){.ec *{transition:none!important}}

.topbar__inner .empira-nav{margin-left:auto}
.ec-search input:focus-visible{outline:none}
@media (max-width:639px){
  .ec-grades li:has(.is-soon){order:1}
  .ec-continue strong{white-space:normal}
}
