:root{--pv-cream:#F1E7D2;--pv-cream2:#E9DBBE;--pv-ink:#232F3E;--pv-soft:#4A5A6B;--pv-coral:#E8572F;--pv-coral2:#C8451F;--pv-teal:#2F6F62;--pv-mustard:#E8A93D;--pv-line:#D3C2A0;--pv-white:#FFFCF6}
body.page-template-page-library,body.page-template-page-categories,body.page-template-page-community{background:var(--pv-cream);color:var(--pv-ink);font-family:Manrope,sans-serif;line-height:1.5;background-image:radial-gradient(circle at 1px 1px,rgba(35,47,62,.05) 1px,transparent 0);background-size:22px 22px}
body.page-template-page-library>header.w-full,body.page-template-page-categories>header.w-full,body.page-template-page-community>header.w-full{display:none!important}
.pv-catalog *{box-sizing:border-box}.pv-catalog h1,.pv-catalog h2,.pv-catalog h3,.pv-catalog h4{font-family:'Baloo 2',sans-serif}.pv-catalog a{text-decoration:none;color:inherit}.pv-inner-wrap{max-width:1180px;margin:0 auto;padding:0 32px}.pv-catalog section{padding:40px 0}.pv-jig-frame{clip-path:polygon(0% 0%,38% 0%,38% 9%,62% 9%,62% 0%,100% 0%,100% 38%,91% 38%,91% 62%,100% 62%,100% 100%,62% 100%,62% 91%,38% 91%,38% 100%,0% 100%,0% 62%,9% 62%,9% 38%,0% 38%)}.pv-inner-divider{width:100%;height:22px;display:block}
.pv-inner-header{background:var(--pv-white);border-bottom:2px solid var(--pv-line);position:sticky;top:0;z-index:50}.pv-inner-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1180px;margin:0 auto}.pv-inner-logo{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;color:var(--pv-ink)}.pv-inner-logo-mark{width:30px;height:30px;background:var(--pv-coral);border-radius:8px;clip-path:polygon(0% 0%,35% 0%,35% 14%,65% 14%,65% 0%,100% 0%,100% 35%,86% 35%,86% 65%,100% 65%,100% 100%,65% 100%,65% 86%,35% 86%,35% 100%,0% 100%,0% 65%,14% 65%,14% 35%,0% 35%)}.pv-inner-links{display:flex;gap:32px;font-weight:600;font-size:15px;color:var(--pv-soft)}.pv-inner-links a.active,.pv-inner-links a:hover{color:var(--pv-coral)}.pv-inner-right{display:flex;align-items:center;gap:16px}.pv-inner-btn{display:inline-block;font-weight:700;font-size:14.5px;padding:10px 22px;border-radius:10px;cursor:pointer;border:2px solid transparent}.pv-inner-btn-primary{background:var(--pv-coral);color:var(--pv-white)!important}.pv-inner-btn-ghost{background:transparent;color:var(--pv-ink);border-color:var(--pv-line)}
.pv-page-head h1{font-size:34px;margin:0 0 8px}.pv-page-head p{color:var(--pv-soft);font-size:15px;margin:0;max-width:560px}
.pv-lib-layout{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:start}.pv-lib-sidebar{background:var(--pv-white);border:1px solid var(--pv-line);border-radius:16px;padding:22px;position:sticky;top:96px}.pv-filter-group{margin-bottom:24px}.pv-filter-group:last-of-type{margin-bottom:16px}.pv-filter-group h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--pv-soft);margin:0 0 12px;font-family:Manrope;font-weight:700}.pv-filter-group label{display:flex;align-items:center;gap:9px;font-size:14px;margin-bottom:10px;cursor:pointer;color:var(--pv-ink)}.pv-filter-group input{width:16px;height:16px;accent-color:var(--pv-coral);cursor:pointer}.pv-clear-btn{width:100%;background:var(--pv-cream2);border:none;padding:10px;border-radius:8px;font-weight:700;font-size:13.5px;color:var(--pv-soft);cursor:pointer}.pv-clear-btn:hover{color:var(--pv-coral)}.pv-lib-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:12px}.pv-result-count{font-size:14.5px;color:var(--pv-soft);font-weight:600}.pv-sort-select{border:1.5px solid var(--pv-line);border-radius:8px;padding:9px 14px;font-family:Manrope;font-size:13.5px;background:var(--pv-white);color:var(--pv-ink);cursor:pointer}.pv-active-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;min-height:1px}.pv-active-chip{background:var(--pv-ink);color:var(--pv-white);font-size:12.5px;font-weight:600;padding:6px 8px 6px 12px;border-radius:14px;display:flex;align-items:center;gap:8px}.pv-active-chip button{background:rgba(255,255,255,.15);border:none;color:var(--pv-white);cursor:pointer;width:18px;height:18px;border-radius:50%;font-size:12px;line-height:1}.pv-lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pv-lib-card{display:block;background:var(--pv-white);border:1px solid var(--pv-line);border-radius:14px;overflow:hidden}.pv-lib-img{height:174px;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:var(--pv-cream2)}.pv-lib-body{padding:14px 16px}.pv-lib-body .name{font-weight:700;font-size:14.5px;margin-bottom:4px}.pv-lib-body .meta{font-size:12.5px;color:var(--pv-soft);margin-bottom:8px}.pv-badge{display:inline-block;font-size:11.5px;font-weight:700;color:var(--pv-teal);background:#EAF3F0;padding:3px 10px;border-radius:8px}.pv-empty-state{text-align:center;padding:70px 20px;color:var(--pv-soft);background:var(--pv-white);border:1.5px dashed var(--pv-line);border-radius:16px}.pv-empty-state a{color:var(--pv-coral);font-weight:700}
.pv-upload-banner{display:flex;justify-content:space-between;align-items:center;background:var(--pv-ink);color:var(--pv-white);border-radius:20px;padding:28px 32px;margin-bottom:8px;flex-wrap:wrap;gap:16px}.pv-upload-banner h3{font-size:19px;margin:0 0 4px}.pv-upload-banner p{font-size:13.5px;color:#AEB9C6;margin:0}.pv-comm-toolbar{display:flex;justify-content:space-between;align-items:center;margin:28px 0 20px;flex-wrap:wrap;gap:14px}.pv-search-input{border:1.5px solid var(--pv-line);border-radius:10px;padding:10px 16px;font-family:Manrope;font-size:14px;width:260px;background:var(--pv-white);color:var(--pv-ink)}.pv-search-input::placeholder{color:#9CA8B5}.pv-toolbar-right{display:flex;gap:12px;align-items:center}.pv-comm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pv-comm-card{display:block;background:var(--pv-white);border:1px solid var(--pv-line);border-radius:16px;overflow:hidden}.pv-comm-img{height:150px;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:var(--pv-cream2)}.pv-comm-body{padding:16px}.pv-comm-body .name{font-weight:700;font-size:15px;margin-bottom:4px}.pv-comm-body .meta{font-size:12.5px;color:var(--pv-soft);margin-bottom:14px}.pv-comm-footer{display:flex;justify-content:space-between;align-items:center}.pv-creator{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--pv-soft)}.pv-avatar{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--pv-white);font-size:11px;font-weight:700}.pv-like-btn{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--pv-soft);cursor:pointer;border:none;background:none;padding:4px;font-family:Manrope}.pv-like-btn.liked{color:var(--pv-coral)}
.pv-mini-footer{background:var(--pv-ink);color:#C6CFDA;padding:36px 0 24px;margin-top:40px}.pv-mini-footer .pv-foot-bottom{font-size:12.5px;color:#8894A2;text-align:center}
body.page-template-page-library>.pv-site-footer,body.page-template-page-categories>.pv-site-footer,body.page-template-page-community>.pv-site-footer{display:none!important}
@media(max-width:900px){.pv-lib-layout{grid-template-columns:1fr}.pv-lib-sidebar{position:static}.pv-lib-grid,.pv-comm-grid{grid-template-columns:repeat(2,1fr)}.pv-inner-links{display:none}.pv-search-input{width:100%}}
@media(max-width:560px){.pv-inner-wrap,.pv-inner-nav{padding-left:20px;padding-right:20px}.pv-inner-right .pv-inner-btn-ghost{display:none}.pv-lib-grid,.pv-comm-grid{grid-template-columns:1fr}.pv-page-head h1{font-size:30px}}

/* Full-image thumbnail fit v13.4.8 */
.pv-lib-card{border-radius:16px;overflow:hidden;}
.pv-lib-card .pv-lib-img{height:174px;background-size:contain;background-position:center center;background-repeat:no-repeat;background-color:var(--pv-cream2);clip-path:none!important;border-radius:15px 15px 0 0;}
@media(max-width:700px){.pv-lib-card .pv-lib-img{height:160px;}}


/* Uniform full-image catalog thumbnails v13.5.0 */
.pv-lib-grid,.pv-comm-grid{align-items:stretch}
.pv-lib-card,.pv-comm-card{height:100%;display:flex;flex-direction:column;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.pv-lib-card:hover,.pv-comm-card:hover{transform:translateY(-3px);border-color:var(--pv-teal);box-shadow:0 10px 24px rgba(35,47,62,.08)}
.pv-lib-media,.pv-comm-media{width:100%;aspect-ratio:3/2;height:auto;min-height:0;overflow:hidden;background:var(--pv-cream2);line-height:0;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pv-lib-media img,.pv-comm-media img,.pv-lib-card .pv-lib-img,.pv-comm-card .pv-comm-img{display:block;width:100%;height:100%!important;max-width:100%;object-fit:contain;object-position:center;background:transparent;clip-path:none!important;border-radius:0}
.pv-lib-placeholder,.pv-comm-placeholder{min-height:0}
.pv-lib-body,.pv-comm-body{margin-top:auto}
@media(max-width:700px){.pv-lib-card .pv-lib-img,.pv-comm-card .pv-comm-img{height:100%!important}}

/* Uniform NO-CROP catalog thumbnails v13.5.1 */
.pv-lib-media,.pv-comm-media{
  aspect-ratio:3/2;
  overflow:hidden;
  background:var(--pv-cream2);
  display:flex;
  align-items:center;
  justify-content:center;
}
.pv-lib-media img,.pv-comm-media img,.pv-lib-card .pv-lib-img,.pv-comm-card .pv-comm-img{
  width:100%!important;
  height:100%!important;
  max-width:100%;
  max-height:100%;
  object-fit:contain!important;
  object-position:center center!important;
  background-color:var(--pv-cream2)!important;
  background-size:contain!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}


/* =========================================================
   FULL-COVER Library / Community thumbnails v13.5.2
   ========================================================= */
.pv-lib-media,.pv-comm-media{aspect-ratio:3/2;overflow:hidden;background:var(--pv-cream2)}
.pv-lib-media img,.pv-comm-media img,.pv-lib-card .pv-lib-img,.pv-comm-card .pv-comm-img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

/* =========================================================
   Hierarchical category filter + mobile category drawer v14.3.0
   ========================================================= */
.pv-category-toggle{display:none}
.pv-category-list{display:block}
.pv-category-row{position:relative;padding-left:calc(var(--pv-cat-depth,0) * 16px);min-height:22px}
.pv-category-row.has-children>.pv-category-name{font-weight:800;color:var(--pv-ink)}
.pv-category-row.depth-1:not(.has-children)>.pv-category-name,
.pv-category-row.depth-2:not(.has-children)>.pv-category-name,
.pv-category-row.depth-3:not(.has-children)>.pv-category-name,
.pv-category-row.depth-4:not(.has-children)>.pv-category-name{color:var(--pv-soft)}
.pv-category-row.depth-1::before,
.pv-category-row.depth-2::before,
.pv-category-row.depth-3::before,
.pv-category-row.depth-4::before{content:'↳';position:absolute;left:calc((var(--pv-cat-depth,1) - 1) * 16px + 1px);top:0;color:#9A8B73;font-size:12px;line-height:20px}

@media(max-width:900px){
  .pv-lib-sidebar{padding:14px 16px;border-radius:14px}
  .pv-category-filter{margin-bottom:16px}
  .pv-category-heading{display:none}
  .pv-category-toggle{display:flex;width:100%;min-height:46px;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1.5px solid var(--pv-line);border-radius:10px;background:var(--pv-white);color:var(--pv-ink);font:700 14px Manrope,sans-serif;cursor:pointer;text-align:left}
  .pv-category-toggle-meta{display:flex;align-items:center;gap:9px;color:var(--pv-soft);font-size:12px;font-weight:600}
  .pv-category-chevron{display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;transition:transform .18s ease}
  .pv-category-toggle[aria-expanded="true"] .pv-category-chevron{transform:rotate(180deg)}
  .pv-category-list{display:none;margin-top:10px;padding:10px 8px 4px;border:1px solid var(--pv-line);border-radius:10px;background:#fffdf8;max-height:min(58vh,520px);overflow:auto;overscroll-behavior:contain}
  .pv-category-list.is-open{display:block}
  .pv-category-row{margin-bottom:8px!important;padding-top:2px;padding-bottom:2px;font-size:14px!important}
}

@media(max-width:560px){
  .pv-lib-sidebar{padding:12px}
  .pv-category-toggle{min-height:44px}
  .pv-category-list{max-height:55vh}
}

/* =========================================================
   Library filter column scrolls with the page v14.3.1
   The old desktop sidebar used position:sticky, which made the
   Category column appear fixed while puzzle cards were scrolling.
   ========================================================= */
.pv-lib-sidebar{
  position:static!important;
  top:auto!important;
  align-self:start;
  overflow:visible;
}
@media(max-width:900px){
  .pv-lib-sidebar{
    position:static!important;
    top:auto!important;
  }
  .pv-category-filter,
  .pv-category-toggle,
  .pv-category-list{
    position:static;
  }
}

/* Community page based on community-en.html. */
.pv-community-page [hidden],.pv-community-page~.pv-mini-footer [hidden]{display:none!important}
.pv-community-page .pv-community-intro{padding-bottom:0}
.pv-community-page .pv-community-content{padding-top:40px}
.pv-community-page .pv-upload-banner h2{font-size:19px;line-height:1.3;margin:0 0 4px;color:var(--pv-white)}
.pv-community-page .pv-comm-grid{align-items:stretch}
.pv-community-page .pv-comm-card{display:flex;flex-direction:column;min-width:0;background:var(--pv-white);border-radius:16px}
.pv-community-page .pv-comm-media{height:150px;aspect-ratio:auto;display:block;flex:none;overflow:hidden;background:var(--pv-cream2)}
.pv-community-page .pv-comm-media img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center}
.pv-community-page .pv-comm-image-fallback{display:block;width:100%;height:100%;background:linear-gradient(150deg,#b7d8a8,#2f6f62)}
.pv-community-page .pv-comm-card:nth-child(6n+2) .pv-comm-image-fallback{background:linear-gradient(150deg,#e4b7d8,#c8451f)}
.pv-community-page .pv-comm-card:nth-child(6n+3) .pv-comm-image-fallback{background:linear-gradient(150deg,#8fcbe0,#4a5a6b)}
.pv-community-page .pv-comm-card:nth-child(6n+4) .pv-comm-image-fallback{background:linear-gradient(150deg,#f3c765,#e8572f)}
.pv-community-page .pv-comm-card:nth-child(6n+5) .pv-comm-image-fallback{background:linear-gradient(150deg,#f3c765,#8fcbe0)}
.pv-community-page .pv-comm-card:nth-child(6n+6) .pv-comm-image-fallback{background:linear-gradient(150deg,#c9d6e3,#4a5a6b)}
.pv-community-page .pv-comm-body{padding:16px;flex:1;display:flex;flex-direction:column;min-width:0}
.pv-community-page .pv-comm-name{display:block;font-weight:700;font-size:15px;line-height:1.35;margin:0 0 4px;color:var(--pv-ink);overflow-wrap:anywhere}
.pv-community-page .pv-comm-name:hover,.pv-community-page .pv-comm-name:focus-visible{color:var(--pv-coral)}
.pv-community-page .pv-comm-meta{font-size:12.5px;color:var(--pv-soft);margin-bottom:14px}
.pv-community-page .pv-comm-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.pv-community-page .pv-creator{min-width:0;overflow:hidden;font-size:13px}
.pv-community-page a.pv-creator{color:var(--pv-soft)}
.pv-community-page a.pv-creator:hover{color:var(--pv-coral)}
.pv-community-page a.pv-creator:hover>span:last-child{text-decoration:underline;text-underline-offset:3px}
.pv-community-page a.pv-creator:focus-visible{outline:2px solid var(--pv-coral);outline-offset:3px;border-radius:4px}
.pv-community-page .pv-creator>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-community-page .pv-avatar{flex:0 0 24px}
.pv-community-page .pv-like-btn{flex:0 0 auto;min-height:32px;padding:4px 5px;border-radius:7px}
.pv-community-page .pv-like-btn:hover,.pv-community-page .pv-like-btn:focus-visible{color:var(--pv-coral);background:#fcece5}
.pv-community-page .pv-like-btn:disabled{opacity:.55;cursor:wait}
.pv-community-page .pv-search-input{max-width:100%}
.pv-community-page .pv-comm-more-wrap{text-align:center;margin-top:24px}
.pv-community-page .pv-comm-more{background:var(--pv-white)}
.pv-community-page .pv-comm-notice{margin:16px 0 0;color:var(--pv-coral2);font-size:13px}
.pv-community-page~.pv-mini-footer{margin-top:40px}
body.page-template-page-community>.pv-site-footer,.pv-community-page~.pv-site-footer,body:has(.pv-community-page)>.pv-site-footer{display:none!important}
@media(max-width:900px){
  .pv-community-page .pv-comm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-community-page .pv-search-input{width:100%}
}
@media(max-width:560px){
  .pv-community-page .pv-comm-grid{grid-template-columns:1fr}
  .pv-community-page .pv-comm-media{height:180px}
  .pv-community-page .pv-toolbar-right{width:100%;justify-content:space-between;flex-wrap:wrap}
  .pv-community-page .pv-upload-banner{padding:24px 20px}
}
