/* Puzzles library hierarchy: Puzzles -> Jigsaws -> individual jigsaw. */
body[data-app="games"] .puzzle-library-list{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  align-items:stretch;
}
body[data-app="games"] .puzzle-library-group{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:10px;
  margin:12px 0 0;
  color:rgba(242,245,255,.86);
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body[data-app="games"] .puzzle-library-group::after{
  content:"";
  height:1px;
  flex:1;
  background:rgba(176,190,255,.22);
}
body[data-app="games"] .puzzle-library-row-wrap{
  position:relative;
  display:block;
  min-width:0;
}
body[data-app="games"] .puzzle-library-row{
  display:grid;
  grid-template-columns:92px minmax(0,1fr) auto;
  grid-template-rows:auto;
  align-items:center;
  align-content:center;
  column-gap:16px;
  row-gap:0;
  min-height:120px;
  width:100%;
  padding:13px 15px;
  border:1px solid rgba(176,190,255,.24);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(11,17,48,.96) 0%,rgba(31,41,91,.94) 54%,rgba(42,54,114,.90) 100%);
  box-shadow:0 18px 38px -28px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.07);
  color:#F2F5FF;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
body[data-app="games"] .puzzle-library-row:hover,
body[data-app="games"] .puzzle-library-row:focus-visible{
  transform:translateY(-3px);
  filter:brightness(1.035);
  box-shadow:0 24px 48px -28px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.10);
  outline:none;
}
body[data-app="games"] .puzzle-library-row-wrap.is-selected .puzzle-library-row{
  box-shadow:0 0 0 2px rgba(176,190,255,.58),0 24px 48px -28px rgba(0,0,0,.72);
}
body[data-app="games"] .puzzle-library-art{
  grid-column:1;
  grid-row:1;
  width:92px;
  height:92px;
  object-fit:cover;
  border:1px solid rgba(224,230,255,.22);
  border-radius:20px;
  background:#11183b;
  box-shadow:0 14px 28px -18px rgba(8,14,27,.72);
}
body[data-app="games"] .puzzle-library-copy{
  grid-column:2;
  grid-row:1;
  min-width:0;
  align-self:center;
}
body[data-app="games"] .puzzle-library-copy h3{
  margin:0 0 7px;
  color:#F2F5FF;
  -webkit-text-fill-color:#F2F5FF;
  font-size:clamp(20px,1.5vw,25px);
}
body[data-app="games"] .puzzle-library-copy p{
  margin:0;
  color:rgba(242,245,255,.78);
  -webkit-text-fill-color:rgba(242,245,255,.78);
  line-height:1.42;
}
body[data-app="games"] .puzzle-library-meta{
  grid-column:3;
  grid-row:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  align-self:center;
}
body[data-app="games"] .puzzle-library-meta strong,
body[data-app="games"] .puzzle-library-meta .inline-note{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 11px;
  border:1px solid rgba(176,190,255,.24);
  border-radius:999px;
  background:rgba(70,86,166,.34);
  color:rgba(242,245,255,.90);
}
body[data-app="games"] .puzzle-library-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
body[data-app="games"] .puzzle-library-toolbar .header-row{margin:0;flex:1}
@media (max-width:760px){
  body[data-app="games"] .puzzle-library-row{
    grid-template-columns:78px minmax(0,1fr);
    grid-template-rows:auto auto;
    min-height:112px;
    column-gap:13px;
    row-gap:7px;
    padding:12px;
  }
  body[data-app="games"] .puzzle-library-art{grid-row:1 / 3;width:78px;height:78px;border-radius:14px}
  body[data-app="games"] .puzzle-library-copy{grid-column:2;grid-row:1}
  body[data-app="games"] .puzzle-library-meta{grid-column:2;grid-row:2;justify-content:flex-start}
  body[data-app="games"] .puzzle-library-copy h3{font-size:20px}
  body[data-app="games"] .puzzle-library-copy p{font-size:14px}
}

body[data-app="games"] .puzzle-library-meta--progress{
  display:grid;
  grid-template-columns:auto auto;
  justify-content:end;
  align-items:center;
  gap:6px;
  max-width:300px;
}
body[data-app="games"] .puzzle-library-meta--progress strong{
  grid-column:1 / -1;
  justify-self:end;
}
body[data-app="games"] .puzzle-library-meta--progress .inline-note{
  font-size:12px;
  white-space:nowrap;
}
@media(max-width:760px){
  body[data-app="games"] .puzzle-library-meta--progress{
    display:flex;
    max-width:none;
    justify-content:flex-start;
  }
  body[data-app="games"] .puzzle-library-meta--progress strong{justify-self:auto}
}
