/* Puzzles library hierarchy: Puzzles -> Jigsaws -> individual jigsaw. */
body[data-app="recreation"] .puzzle-library-list{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  align-items:stretch;
}
body[data-app="recreation"] .puzzle-library-group{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:10px;
  margin:12px 0 0;
  color:rgba(var(--recreation-ink-rgb),.86);
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body[data-app="recreation"] .puzzle-library-group::after{
  content:"";
  height:1px;
  flex:1;
  background:rgba(var(--recreation-copper-light-rgb),.22);
}
body[data-app="recreation"] .puzzle-library-row-wrap{
  position:relative;
  display:block;
  min-width:0;
}
body[data-app="recreation"] .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(var(--recreation-copper-light-rgb),.24);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(var(--recreation-burgundy-rgb),.96) 0%,rgba(var(--recreation-rose-rgb),.94) 54%,rgba(var(--recreation-panel-rgb),.90) 100%);
  box-shadow:0 18px 38px -28px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.07);
  color:var(--recreation-ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
body[data-app="recreation"] .puzzle-library-row:hover,
body[data-app="recreation"] .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="recreation"] .puzzle-library-art{
  grid-column:1;
  grid-row:1;
  width:92px;
  height:92px;
  object-fit:cover;
  border:1px solid rgba(var(--recreation-copper-light-rgb),.22);
  border-radius:20px;
  background:var(--recreation-card);
  box-shadow:0 14px 28px -18px rgba(var(--recreation-shadow-rgb),.72);
}
body[data-app="recreation"] .puzzle-library-copy{
  grid-column:2;
  grid-row:1;
  min-width:0;
  align-self:center;
}
body[data-app="recreation"] .puzzle-library-copy h3{
  margin:0 0 7px;
  color:var(--recreation-ink);
  -webkit-text-fill-color:var(--recreation-ink);
  font-size:clamp(20px,1.5vw,25px);
}
body[data-app="recreation"] .puzzle-library-copy p{
  margin:0;
  color:rgba(var(--recreation-ink-rgb),.78);
  -webkit-text-fill-color:rgba(var(--recreation-ink-rgb),.78);
  line-height:1.42;
}
body[data-app="recreation"] .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="recreation"] .puzzle-library-meta strong,
body[data-app="recreation"] .puzzle-library-meta .inline-note{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 11px;
  border:1px solid rgba(var(--recreation-copper-light-rgb),.24);
  border-radius:999px;
  background:rgba(var(--recreation-copper-deep-rgb),.34);
  color:rgba(var(--recreation-ink-rgb),.90);
}
body[data-app="recreation"] .puzzle-library-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
body[data-app="recreation"] .puzzle-library-toolbar .header-row{margin:0;flex:1}
@media (max-width:760px){
  body[data-app="recreation"] .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="recreation"] .puzzle-library-art{grid-row:1 / 3;width:78px;height:78px;border-radius:14px}
  body[data-app="recreation"] .puzzle-library-copy{grid-column:2;grid-row:1}
  body[data-app="recreation"] .puzzle-library-meta{grid-column:2;grid-row:2;justify-content:flex-start}
  body[data-app="recreation"] .puzzle-library-copy h3{font-size:20px}
  body[data-app="recreation"] .puzzle-library-copy p{font-size:14px}
}

body[data-app="recreation"] .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="recreation"] .puzzle-library-meta--progress strong{
  grid-column:1 / -1;
  justify-self:end;
}
body[data-app="recreation"] .puzzle-library-meta--progress .inline-note{
  font-size:12px;
  white-space:nowrap;
}
@media(max-width:760px){
  body[data-app="recreation"] .puzzle-library-meta--progress{
    display:flex;
    max-width:none;
    justify-content:flex-start;
  }
  body[data-app="recreation"] .puzzle-library-meta--progress strong{justify-self:auto}
}
