/* Leagues Lab catalog workspace system — 2027-facing responsive card layouts. */
.ll-catalog-view{
  --ll-catalog-border:#29465f;
  --ll-catalog-panel:#0b1722;
  --ll-catalog-panel-2:#08131d;
  --ll-catalog-muted:#8297aa;
  --ll-catalog-gap:10px;
}
.ll-catalog-page-heading{
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin:2px 0 14px;
  padding:5px 3px 12px;
}
.ll-catalog-page-heading::after{
  content:"";
  position:absolute;
  left:3px;
  right:3px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,rgba(69,215,255,.58),rgba(43,134,255,.2) 38%,rgba(243,198,93,.28) 72%,transparent);
}
.ll-catalog-page-heading>div:first-child{max-width:980px}
.ll-catalog-page-heading h2{margin:0;font-size:clamp(25px,3vw,34px);line-height:1.05;letter-spacing:-.035em;font-weight:950}
.ll-catalog-page-heading p,.ll-catalog-page-heading .small.muted{max-width:940px;line-height:1.5}
.ll-catalog-title-line{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap}
.ll-catalog-total-inline{display:inline-flex;align-items:center;gap:5px;color:#b9c8d6;font-size:11px;font-weight:850;letter-spacing:.01em}
.ll-catalog-total-inline strong{color:var(--gold);font-size:17px;font-variant-numeric:tabular-nums}
.ll-catalog-context-card{margin-bottom:10px!important;border-color:#2b465e;background:linear-gradient(180deg,#0d1b28,#09151f);box-shadow:0 10px 28px rgba(0,0,0,.16)}

/* Command bars: adaptive rather than fixed-column. */
.ll-catalog-toolbar{
  position:sticky;
  top:82px;
  z-index:8;
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:7px!important;
  padding:9px!important;
  border:1px solid #29455d!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,rgba(10,24,36,.97),rgba(7,18,28,.96))!important;
  backdrop-filter:blur(14px) saturate(125%);
  box-shadow:0 10px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025);
}
.ll-catalog-toolbar input[type="search"]{flex:2.2 1 280px;min-width:220px}
.ll-catalog-toolbar select{flex:1 1 145px;min-width:130px}
.ll-catalog-toolbar .ll-filter-toggle{flex:0 0 auto}
.ll-catalog-result-count{display:block;margin:8px 2px 10px;color:#7f94a7!important;font-size:10px!important}

/* Shared data-card behavior. content-visibility keeps very large catalogs cheap to scroll. */
#tasksView .taskcard,
#achievementsView .ll-achievement-card,
#questsView .ll-quest-catalog-card{
  content-visibility:auto;
  contain-intrinsic-size:180px;
  transform:translateZ(0);
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
#tasksView .taskcard:hover,
#achievementsView .ll-achievement-card:hover,
#questsView .ll-quest-catalog-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.19)!important;
}

/* Tasks: three-column data tiles on wide desktop, collapsing naturally. */
#tasksView .ll-task-page-heading{align-items:center}
#tasksView .ll-task-page-heading>div:first-child{min-width:0;flex:1}
#tasksView .ll-task-page-heading>div:last-child{flex:0 0 auto}
#tasksView .ll-task-page-heading .small.muted{margin-top:5px;color:#8398aa!important}
#tasksView .ll-task-catalog-toolbar{margin-bottom:0!important}
#tasksView .ll-task-catalog-toolbar #taskSearch{min-height:42px}
#tasksView .taskgrid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,335px),1fr))!important;
  align-items:stretch;
  gap:var(--ll-catalog-gap)!important;
}
#tasksView .taskcard{
  position:relative;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  align-content:start;
  gap:7px;
  min-height:178px!important;
  padding:12px!important;
  border-radius:13px!important;
  border-color:#29445a!important;
  background:linear-gradient(180deg,#0c1924,#09141d)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;
}
#tasksView .taskcard:hover{border-color:#47708f!important}
#tasksView .taskcard>.row:first-child{align-items:center}
#tasksView .task-title{margin:1px 0!important;font-size:14px!important;line-height:1.3!important;color:#f1f5f8}
#tasksView .taskcard>.small{font-size:10px!important;line-height:1.42}
#tasksView .taskcard>.row.wrap{align-self:end;margin-top:2px!important;justify-content:flex-start}
#tasksView .taskcard .btn.small{padding:6px 8px;font-size:10px}
#tasksView .taskcard .pill{padding:3px 6px;font-size:9px}
#tasksView .server-task-status{margin-top:7px!important}
#tasksView #quickTaskSyncCard{padding:10px 12px}
#tasksView #quickTaskSyncCard .small.muted{font-size:10px}

/* Achievements: editorial cards with equal rhythm, not a vertical feed. */
#achievementsView .ll-achievement-page-heading{align-items:flex-start}
#achievementsView .ll-achievement-controls{margin-bottom:10px!important}
#achievementsView .ll-achievement-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr))!important;
  align-items:stretch;
  gap:var(--ll-catalog-gap)!important;
}
#achievementsView .ll-achievement-card{
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  align-content:start;
  gap:7px!important;
  min-height:190px!important;
  padding:12px!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#0c1924,#09141d)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;
}
#achievementsView .ll-achievement-card-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start!important}
#achievementsView .ll-achievement-card-head>div:first-child{display:grid;gap:6px}
#achievementsView .ll-achievement-card-head strong{font-size:14px;line-height:1.3;color:#eef3f7}
#achievementsView .ll-achievement-card>p{margin:1px 0;color:#9eafbd;font-size:11px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#achievementsView .ll-achievement-card details{align-self:end;margin-top:2px;border-top:1px solid rgba(78,103,124,.35);padding-top:7px}
#achievementsView .ll-achievement-card summary{cursor:pointer;font-size:10px;color:#b7c5d1;font-weight:850}
#achievementsView .ll-achievement-card .pill{padding:3px 6px;font-size:9px}
#achievementsView .ll-achievement-card .btn.small{padding:6px 8px;font-size:10px}
#achievementsView .ll-achievement-card.status-available:not(.completed){border-color:#6f5f2c;background:linear-gradient(180deg,#17150d,#11120e)!important;box-shadow:inset 3px 0 0 #c7a647!important}
#achievementsView .ll-achievement-card.status-planned:not(.completed){border-color:#405d78;background:linear-gradient(180deg,#0e1923,#0a141d)!important;box-shadow:inset 3px 0 0 #6396c0!important}
#achievementsView .ll-achievement-card.status-blocked:not(.completed){border-color:#6c4149;background:linear-gradient(180deg,#180f13,#110c0f)!important;box-shadow:inset 3px 0 0 #b15d69!important}
#achievementsView .ll-achievement-card.completed{border-color:#356447;background:linear-gradient(180deg,#0e1a13,#0a130f)!important;box-shadow:inset 3px 0 0 #4aad69!important}
#achievementsView .ll-ach-status{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:2px 6px;font-size:9px;font-weight:900}
#achievementsView .ll-ach-status.available{border-color:#806823;color:#ffe5a6;background:#211c0d}
#achievementsView .ll-ach-status.planned{border-color:#416580;color:#c4e3ff;background:#0d1a24}
#achievementsView .ll-ach-status.blocked{border-color:#7c3f48;color:#ffc0c8;background:#211014}
#achievementsView .ll-ach-status.completed{border-color:#2f7b49;color:#9bf4b2;background:#102219}

/* Quests: card matrix inside the existing catalog/reference split. */
#questsView .ll-quest-catalog-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))!important;
  align-items:start;
  gap:var(--ll-catalog-gap)!important;
}
#questsView .ll-quest-catalog-card{
  min-height:154px!important;
  padding:12px!important;
  border-radius:13px!important;
}
#questsView .ll-quest-card-head{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;align-items:start!important}
#questsView .ll-catalog-actions{justify-content:flex-start!important}
#questsView .ll-quest-quick-context{white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#questsView .ll-quest-card-details{margin-top:10px;padding:10px 0 0!important;background:transparent!important}
#questsView .ll-quest-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Shared card/action conventions. */
#questsView .ll-quest-catalog-shell,#achievementsView .ll-catalog-shell,#tasksView .ll-catalog-context-card{border-radius:13px}
#questsView .ll-quest-catalog-card,#achievementsView .ll-achievement-card,#tasksView .taskcard{font-size:12px}
.ll-catalog-actions{gap:6px!important}

@media(min-width:1500px){
  #tasksView .taskgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #achievementsView .ll-achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:1120px){
  #questsView .ll-quest-catalog-grid{grid-template-columns:1fr!important}
}
@media(max-width:820px){
  .ll-catalog-page-heading{display:grid}
  #tasksView .ll-task-page-heading>div:last-child{justify-self:start}
  .ll-catalog-toolbar{position:relative;top:auto}
  .ll-catalog-toolbar input[type="search"],.ll-catalog-toolbar select,.ll-catalog-toolbar .ll-filter-toggle{flex:1 1 100%}
  #tasksView .taskgrid,#achievementsView .ll-achievement-grid,#questsView .ll-quest-catalog-grid{grid-template-columns:1fr!important}
  #achievementsView .ll-achievement-card-head{grid-template-columns:1fr!important}
  #achievementsView .ll-catalog-actions{justify-content:flex-start!important}
}
@media(prefers-reduced-motion:reduce){
  #tasksView .taskcard,#achievementsView .ll-achievement-card,#questsView .ll-quest-catalog-card{transition:none!important}
  #tasksView .taskcard:hover,#achievementsView .ll-achievement-card:hover,#questsView .ll-quest-catalog-card:hover{transform:none!important}
}
