
/* Official Library — premium header containment / hierarchy pass.
   Loaded after official-library-v3.css so it can safely correct older topbar overrides. */

.ks-official-library-v3 .ol3-topbar{
  min-height:72px!important;
  grid-template-columns:minmax(220px,260px) minmax(320px,1fr) auto!important;
  gap:18px!important;
  padding:10px 18px!important;
  border-bottom:1px solid rgba(31,61,50,.09)!important;
  background:color-mix(in srgb,#fffdf8 94%,transparent)!important;
  box-shadow:0 6px 24px rgba(24,44,36,.035)!important;
  backdrop-filter:blur(22px) saturate(1.15)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.15)!important;
}

.ks-official-library-v3 .ol3-brand{
  min-width:0!important;
  gap:11px!important;
  padding-right:6px!important;
  text-decoration:none!important;
}
.ks-official-library-v3 .ol3-brand-logo{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
}
.ks-official-library-v3 .ol3-brand>span:last-child{
  min-width:0!important;
  line-height:1.04!important;
}
.ks-official-library-v3 .ol3-brand strong{
  display:block!important;
  white-space:nowrap!important;
  font-size:18px!important;
  letter-spacing:-.015em!important;
}
.ks-official-library-v3 .ol3-brand small{
  margin-top:5px!important;
  white-space:nowrap!important;
  letter-spacing:.17em!important;
  font-size:7.5px!important;
}

.ks-official-library-v3 .ol3-search{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:46px!important;
  border-radius:15px!important;
  padding:0 15px!important;
  border-color:rgba(26,73,58,.11)!important;
  box-shadow:0 5px 18px rgba(24,50,40,.025)!important;
}
.ks-official-library-v3 .ol3-search input{
  font-size:14px!important;
}
.ks-official-library-v3 .ol3-search kbd{
  flex:none!important;
  border:1px solid rgba(36,66,55,.06)!important;
  background:#f4f0e8!important;
}

.ks-official-library-v3 .ol3-top-actions{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  flex-wrap:nowrap!important;
  overflow:visible!important;
}

.ks-official-library-v3 .ol3-cart,
.ks-official-library-v3 .ol3-purchases,
.ks-official-library-v3 .ol3-home,
.ks-official-library-v3 .ol3-launchpad,
.ks-official-library-v3 .ol3-icon,
.ks-official-library-v3 .ol3-avatar,
.ks-official-library-v3 .ol3-language{
  flex:0 0 auto!important;
  box-sizing:border-box!important;
}

.ks-official-library-v3 .ol3-cart,
.ks-official-library-v3 .ol3-purchases,
.ks-official-library-v3 .ol3-home,
.ks-official-library-v3 .ol3-launchpad{
  height:42px!important;
  min-height:42px!important;
  border-radius:13px!important;
  border:1px solid rgba(19,65,50,.11)!important;
  background:#fff!important;
  color:#173f34!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}

.ks-official-library-v3 .ol3-cart{
  padding:0 12px!important;
  gap:7px!important;
}
.ks-official-library-v3 .ol3-cart>span:first-child{
  font-size:16px!important;
}
.ks-official-library-v3 .ol3-cart b{
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  font-size:9px!important;
}

.ks-official-library-v3 .ol3-purchases{
  padding:0 13px!important;
}
.ks-official-library-v3 .ol3-purchases::before{
  content:"▤";
  margin-right:7px;
  font-size:14px;
  color:#7d672b;
}

.ks-official-library-v3 .ol3-home{
  padding:0 12px!important;
  color:#0a5945!important;
}
.ks-official-library-v3 .ol3-launchpad{
  padding:0 12px!important;
}
.ks-official-library-v3 .ol3-home:hover,
.ks-official-library-v3 .ol3-launchpad:hover,
.ks-official-library-v3 .ol3-cart:hover,
.ks-official-library-v3 .ol3-purchases:hover{
  background:#f7faf7!important;
  border-color:rgba(11,89,66,.22)!important;
}

.ks-official-library-v3 .ol3-language{
  height:42px!important;
  padding:3px!important;
  border-radius:13px!important;
  border:1px solid rgba(19,65,50,.11)!important;
}
.ks-official-library-v3 .ol3-language a{
  min-width:27px!important;
  width:27px!important;
  height:34px!important;
  padding:0!important;
  font-size:9px!important;
}
.ks-official-library-v3 .ol3-icon,
.ks-official-library-v3 .ol3-avatar{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
}
.ks-official-library-v3 .ol3-icon{
  border-radius:13px!important;
}
.ks-official-library-v3 .ol3-avatar{
  border-radius:50%!important;
}

/* Large desktop: let the search own the flexible middle space. */
@media (min-width:1440px){
  .ks-official-library-v3 .ol3-topbar{
    grid-template-columns:250px minmax(420px,1fr) auto!important;
    padding-inline:24px!important;
  }
}

/* Laptop widths: preserve every important destination without collisions.
   Secondary labels compact before controls disappear. */
@media (max-width:1320px) and (min-width:961px){
  .ks-official-library-v3 .ol3-topbar{
    grid-template-columns:210px minmax(280px,1fr) auto!important;
    gap:12px!important;
    padding-inline:14px!important;
  }
  .ks-official-library-v3 .ol3-brand-logo{
    width:40px!important;height:40px!important;flex-basis:40px!important;
  }
  .ks-official-library-v3 .ol3-brand strong{font-size:15px!important}
  .ks-official-library-v3 .ol3-brand small{font-size:7px!important;letter-spacing:.12em!important}
  .ks-official-library-v3 .ol3-top-actions{gap:5px!important}
  .ks-official-library-v3 .ol3-purchases{
    width:42px!important;
    min-width:42px!important;
    padding:0!important;
    justify-content:center!important;
    font-size:0!important;
  }
  .ks-official-library-v3 .ol3-purchases::before{
    margin:0!important;
    font-size:16px!important;
  }
  .ks-official-library-v3 .ol3-cart{
    padding:0 10px!important;
  }
  .ks-official-library-v3 .ol3-home,
  .ks-official-library-v3 .ol3-launchpad{
    width:42px!important;
    min-width:42px!important;
    padding:0!important;
    justify-content:center!important;
  }
  .ks-official-library-v3 .ol3-home span:last-child,
  .ks-official-library-v3 .ol3-launchpad span:last-child{
    display:none!important;
  }
}

/* Tablet: keep search dominant and move utilities into a compact horizontal lane. */
@media (max-width:960px){
  .ks-official-library-v3 .ol3-topbar{
    grid-template-columns:44px minmax(0,1fr)!important;
    grid-template-areas:
      "menu search"
      "actions actions"!important;
    gap:8px!important;
    padding:9px 12px!important;
  }
  .ks-official-library-v3 .ol3-mobile-menu{grid-area:menu!important;display:grid!important;place-items:center}
  .ks-official-library-v3 .ol3-brand{display:none!important}
  .ks-official-library-v3 .ol3-search{grid-area:search!important}
  .ks-official-library-v3 .ol3-top-actions{
    grid-area:actions!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    max-width:100%!important;
    padding-bottom:2px!important;
    scrollbar-width:none!important;
  }
  .ks-official-library-v3 .ol3-top-actions::-webkit-scrollbar{display:none!important}
}

/* Phone: no duplicate Home label; Launchpad remains the main ecosystem shortcut. */
@media (max-width:620px){
  .ks-official-library-v3 .ol3-topbar{
    min-height:0!important;
  }
  .ks-official-library-v3 .ol3-purchases{display:none!important}
  .ks-official-library-v3 .ol3-home{display:none!important}
  .ks-official-library-v3 .ol3-cart{
    width:40px!important;min-width:40px!important;padding:0!important;justify-content:center!important;
  }
  .ks-official-library-v3 .ol3-cart>span:nth-child(2){display:none!important}
  .ks-official-library-v3 .ol3-launchpad{
    width:40px!important;min-width:40px!important;padding:0!important;justify-content:center!important;
  }
  .ks-official-library-v3 .ol3-launchpad span:last-child{display:none!important}
  .ks-official-library-v3 .ol3-language{height:40px!important}
  .ks-official-library-v3 .ol3-icon,
  .ks-official-library-v3 .ol3-avatar{width:40px!important;min-width:40px!important;height:40px!important}
}

html[data-theme="dark"] .ks-official-library-v3 .ol3-topbar{
  background:rgba(14,23,18,.96)!important;
  border-bottom-color:rgba(255,255,255,.08)!important;
}


/* v2 — use the signed-in member's actual profile photo in the library header. */
.ks-official-library-v3 .ol3-avatar{
  overflow:hidden!important;
  padding:0!important;
  position:relative!important;
}
.ks-official-library-v3 .ol3-avatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:inherit!important;
}
.ks-official-library-v3 .ol3-avatar>span{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
}
