:root{
  --ll-blue:#19A7FF;
  --ll-blue-deep:#087ED1;
  --ll-blue-soft:#EAF7FF;
  --ll-lime:#A8D63A;
  --ll-lime-deep:#83B821;
  --ll-lime-soft:#F3FADB;
  --ll-ink:#17384F;
  --ll-muted:#668094;
  --ll-bg:#F4FBFF;
  --ll-card:#FFFFFF;
  --ll-shadow:0 14px 36px rgba(25,167,255,.14);
}
.llv2{font-family:Nunito,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--ll-bg);padding:22px;border-radius:28px;color:var(--ll-ink)}
.llv2 *{box-sizing:border-box}
.llv2-hero{background:linear-gradient(135deg,var(--ll-blue),#45BCFF);border-radius:30px;padding:28px;box-shadow:var(--ll-shadow);position:relative;overflow:hidden;margin-bottom:18px}
.llv2-hero:before,.llv2-hero:after{content:"";position:absolute;border-radius:50%;background:rgba(168,214,58,.35)}
.llv2-hero:before{width:180px;height:180px;right:-35px;top:-50px}.llv2-hero:after{width:120px;height:120px;right:120px;bottom:-60px;background:rgba(255,255,255,.18)}
.llv2-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.llv2-kicker{margin:0 0 6px!important;font-weight:900;color:white;letter-spacing:.03em}.llv2 h2{margin:0!important;color:white!important;font-size:clamp(30px,4vw,48px)!important;line-height:1.04!important;font-weight:900!important}.llv2-hero p:not(.llv2-kicker){color:rgba(255,255,255,.94);font-size:17px;margin:10px 0 0!important}
.llv2-search-wrap{background:white;border:4px solid rgba(255,255,255,.45);box-shadow:0 16px 38px rgba(0,0,0,.1);border-radius:999px;padding:8px 16px;display:flex;gap:10px;align-items:center}.llv2-search-wrap span{font-size:22px}.llv2-search-wrap input{border:0!important;outline:0!important;box-shadow:none!important;width:100%;font-size:17px;padding:13px 4px;color:var(--ll-ink);background:transparent!important}.llv2-search-wrap input::placeholder{color:#7b9aae}
.llv2-toolbar{display:flex;gap:14px;align-items:center;margin:18px 0;flex-wrap:wrap}.llv2-chip-row{display:flex;gap:10px;overflow:auto;padding:4px 2px;flex:1;scrollbar-width:thin}.llv2-chip{border:2px solid var(--ll-blue)!important;background:white!important;color:var(--ll-blue-deep)!important;border-radius:999px!important;padding:10px 17px!important;font-weight:900!important;white-space:nowrap;cursor:pointer;transition:.2s}.llv2-chip:hover,.llv2-chip.active{background:var(--ll-blue)!important;color:white!important;transform:translateY(-1px)}.llv2-toolbar select{border:2px solid var(--ll-blue)!important;border-radius:999px!important;padding:10px 18px!important;min-height:44px;background:white!important;color:var(--ll-blue-deep);font-weight:800;max-width:260px}.llv2-summary{font-weight:900;color:var(--ll-muted);margin:10px 3px 16px}.llv2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:22px}.llv2-card{background:var(--ll-card);border-radius:26px;overflow:hidden;box-shadow:var(--ll-shadow);border:1px solid rgba(25,167,255,.09);transition:transform .22s ease, box-shadow .22s ease}.llv2-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(25,167,255,.22)}.llv2-thumb{height:245px;background:linear-gradient(180deg,#EAF7FF,#FFFFFF);padding:18px;display:flex;align-items:center;justify-content:center;position:relative;text-decoration:none!important;overflow:hidden}.llv2-thumb canvas{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 10px 24px rgba(23,56,79,.18);background:white;display:none}.llv2-thumb canvas.loaded{display:block}.llv2-thumb-fallback{position:absolute;inset:18px;border-radius:18px;background:white;border:2px dashed rgba(25,167,255,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ll-blue-deep);font-weight:900;gap:8px;font-size:40px}.llv2-thumb-fallback span{font-size:14px}.llv2-body{padding:18px}.llv2-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.llv2-meta span{background:var(--ll-blue-soft);color:var(--ll-blue-deep);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.llv2-meta span:nth-child(2){background:var(--ll-lime-soft);color:#638E12}.llv2-card h3{font-size:18px!important;line-height:1.2!important;color:var(--ll-ink)!important;margin:0 0 12px!important;font-weight:900!important;min-height:43px}.llv2-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;min-height:28px}.llv2-tag{background:#F2F8FC;color:#466A81;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.llv2-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:9px}.llv2-btn{border-radius:15px;padding:11px 12px;text-align:center;text-decoration:none!important;font-weight:900;font-size:14px;transition:.2s;line-height:1.1}.llv2-preview{background:var(--ll-blue);color:white!important}.llv2-download{background:var(--ll-lime);color:white!important}.llv2-preview:hover{background:var(--ll-blue-deep);color:white!important}.llv2-download:hover{background:var(--ll-lime-deep);color:white!important}.llv2-empty{background:white;border-radius:20px;padding:30px;text-align:center;color:var(--ll-muted);font-weight:900}
@media (max-width:780px){.llv2{padding:14px;border-radius:18px}.llv2-hero{padding:22px 16px;border-radius:24px}.llv2-hero-inner{grid-template-columns:1fr;gap:18px}.llv2 h2{font-size:30px!important}.llv2-hero p:not(.llv2-kicker){font-size:15px}.llv2-search-wrap{border-width:3px;padding:5px 13px}.llv2-search-wrap input{font-size:16px;padding:11px 2px}.llv2-toolbar{display:block}.llv2-chip-row{margin-bottom:12px;padding-bottom:6px}.llv2-chip{padding:9px 14px!important;font-size:13px!important}.llv2-toolbar select{width:100%;max-width:none;border-radius:18px!important}.llv2-grid{grid-template-columns:1fr;gap:16px}.llv2-card{border-radius:22px}.llv2-thumb{height:230px;padding:14px}.llv2-body{padding:15px}.llv2-card h3{font-size:17px!important;min-height:0}.llv2-actions{grid-template-columns:1fr;gap:8px}.llv2-preview{display:none}.llv2-btn{padding:12px 14px;font-size:14px;border-radius:14px}.llv2-download:before{content:'⬇ ';}.llv2-summary{font-size:14px}}
@media (min-width:781px) and (max-width:1050px){.llv2-hero-inner{grid-template-columns:1fr}.llv2-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}


/* v2.2 filter-focused update - year level removed, PDF thumbnails kept */
.llv2-filterbar{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr)) auto;
  gap:12px;
  align-items:center;
  background:#fff;
  padding:14px;
  border-radius:22px;
  box-shadow:0 10px 28px rgba(25,167,255,.10);
  border:1px solid rgba(25,167,255,.10);
}
.llv2-filterbar select{
  width:100%;
  max-width:none!important;
  border:2px solid rgba(25,167,255,.38)!important;
  color:var(--ll-ink)!important;
  background:#fff!important;
  font-weight:900!important;
  border-radius:16px!important;
}
.llv2-filterbar select:focus{
  border-color:var(--ll-blue)!important;
  box-shadow:0 0 0 4px rgba(25,167,255,.14)!important;
  outline:none!important;
}
.llv2-clear{
  border:0!important;
  border-radius:16px!important;
  background:var(--ll-blue-soft)!important;
  color:var(--ll-blue-deep)!important;
  font-weight:900!important;
  min-height:44px;
  padding:10px 16px!important;
  cursor:pointer;
}
.llv2-clear:hover{background:var(--ll-blue)!important;color:#fff!important;}
.llv2-category-name{font-size:12px;font-weight:900;color:var(--ll-muted);margin:-4px 0 9px;}
.llv2-thumb:after{
  content:'Tap to preview';
  position:absolute;
  right:12px;
  bottom:12px;
  background:rgba(25,167,255,.92);
  color:#fff;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  font-weight:900;
  opacity:0;
  transform:translateY(4px);
  transition:.2s;
}
.llv2-card:hover .llv2-thumb:after{opacity:1;transform:translateY(0)}
.llv2-meta span:first-child{background:var(--ll-blue-soft);color:var(--ll-blue-deep)}
.llv2-meta span:nth-child(2){background:var(--ll-lime-soft);color:#638E12}
@media (max-width:900px){
  .llv2-filterbar{grid-template-columns:1fr 1fr;gap:10px;padding:12px;border-radius:20px}
  .llv2-clear{grid-column:1 / -1;width:100%}
}
@media (max-width:560px){
  .llv2-filterbar{grid-template-columns:1fr;position:sticky;top:0;z-index:5;margin:12px 0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
  .llv2-filterbar select,.llv2-clear{min-height:42px!important;font-size:14px!important}
  .llv2-thumb:after{opacity:1;content:'Preview';}
}

/* v2.3 real cached PDF thumbnail image support */
.llv2-thumb-img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 10px 24px rgba(23,56,79,.18);
  background:white;
}
.llv2-thumb.has-image .llv2-thumb-fallback{display:none!important;}
