/* Softer card treatment using the existing colour variables. */
.cv-layout .project-open,
.cv-layout .github-spotlight,
.cv-layout .cv-skill-grid .skill-panel{
  border-radius:18px;
  border-color:color-mix(in srgb,var(--line) 82%,var(--accent));
  box-shadow:0 18px 40px -30px color-mix(in srgb,var(--text) 28%,transparent),inset 0 1px 0 color-mix(in srgb,var(--text) 7%,transparent);
  transition:transform .75s cubic-bezier(.2,.75,.2,1),box-shadow .75s ease,border-color .75s ease,background-color .75s ease;
}
.cv-layout .project-open{
  overflow:hidden;
  background:radial-gradient(ellipse 95% 95% at 0 100%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 76%),var(--surface);
}
.cv-layout .project-open::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 68% 95% at 18% 88%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 75%);
  transform:translate3d(-7%,4%,0) scale(.94);opacity:.16;
  animation:cozy-card-light 13s ease-in-out infinite alternate;animation-play-state:paused;
}
.cv-layout .project-open .project-art,.cv-layout .project-open .cv-project-copy{position:relative;z-index:1}
.cv-layout .project-open::after,.cv-layout .github-spotlight::after{
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 38%,transparent),transparent 40%,color-mix(in srgb,var(--accent) 25%,transparent) 72%,transparent);
  opacity:.14;animation:cozy-edge-breathe 10s ease-in-out infinite;animation-play-state:paused;
}
.cv-layout .project-card:nth-child(2) .project-open::before,.cv-layout .project-card:nth-child(2) .project-open::after{animation-delay:-4s}
.cv-layout .project-card:nth-child(3) .project-open::before,.cv-layout .project-card:nth-child(3) .project-open::after{animation-delay:-8s}
.cv-layout .github-spotlight::after{animation-duration:12s}
.cv-layout .project-card.art-in-view .project-open::before,.cv-layout .project-card.art-in-view .project-open::after,.cv-layout .github-spotlight.art-in-view::after{animation-play-state:running}
.cv-layout .project-open:hover,.cv-layout .project-open:focus-visible,.cv-layout .github-spotlight:hover,.cv-layout .github-spotlight:focus-visible{
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--accent) 36%,var(--line));
  box-shadow:0 24px 46px -29px color-mix(in srgb,var(--text) 40%,transparent),inset 0 1px 0 color-mix(in srgb,var(--text) 11%,transparent);
}
.cv-layout .project-open:hover::after,.cv-layout .project-open:focus-visible::after,.cv-layout .github-spotlight:hover::after,.cv-layout .github-spotlight:focus-visible::after{opacity:.38}
.cv-layout .project-open:hover::before,.cv-layout .project-open:focus-visible::before{opacity:.44}
.cv-layout .github-spotlight{background:radial-gradient(ellipse 90% 120% at 0 100%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 75%),var(--surface)}
.cv-layout .github-spotlight::before{animation-duration:26s;opacity:.26}
.cv-layout .cv-skill-grid .skill-panel{
  position:relative;min-width:0;padding:24px;
  border:1px solid color-mix(in srgb,var(--line) 82%,var(--accent));
  background:radial-gradient(ellipse 110% 95% at 0 100%,color-mix(in srgb,var(--accent) 4%,transparent),transparent 76%),var(--surface);
  animation:cozy-skill-breathe 12s ease-in-out infinite;animation-play-state:paused;
}
.cv-layout .cv-skill-grid .skill-panel:nth-child(2){animation-delay:-4s}
.cv-layout .cv-skill-grid .skill-panel:nth-child(3){animation-delay:-8s}
.cv-layout .cv-skill-grid .skill-panel.art-in-view{animation-play-state:running}
.cv-layout .cv-skill-grid .skill-panel:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 33%,var(--line))}
@keyframes cozy-card-light{50%{transform:translate3d(8%,-2%,0) scale(1.08);opacity:.3}100%{transform:translate3d(2%,1%,0) scale(1.02);opacity:.2}}
@keyframes cozy-edge-breathe{50%{opacity:.31}}
@keyframes cozy-skill-breathe{50%{box-shadow:0 21px 43px -29px color-mix(in srgb,var(--text) 34%,transparent),inset 0 1px 0 color-mix(in srgb,var(--text) 10%,transparent)}}
.cv-layout.art-paused .project-open::before,.cv-layout.modal-open .project-open::before,.cv-layout.art-paused .cv-skill-grid .skill-panel,.cv-layout.modal-open .cv-skill-grid .skill-panel{animation-play-state:paused!important}
@media(max-width:950px){.cv-layout .cv-skill-grid .skill-panel+.skill-panel{padding:24px;border-top:1px solid color-mix(in srgb,var(--line) 82%,var(--accent))}}
@media(prefers-reduced-motion:reduce),print{
  .cv-layout .project-open::before{display:none}
  .cv-layout .cv-skill-grid .skill-panel{animation:none!important}
  .cv-layout .project-open,.cv-layout .github-spotlight,.cv-layout .cv-skill-grid .skill-panel{transition:none!important;transform:none!important}
}
@media(forced-colors:active){.cv-layout .project-open::before{display:none}.cv-layout .cv-skill-grid .skill-panel{animation:none}}
