/* Real, persistent project characters replace the old positional image cycle. */
.projects-page .projects-card::after { content: none; }
.project-mascot { position: absolute; top: 17px; right: 18px; display: block; width: 76px; height: 94px; pointer-events: none; filter: drop-shadow(1px 3px 1px #64513f13); }
.project-mascot svg { display: block; width: 100%; height: 100%; overflow: hidden; }
.projects-page .indexed-card-top { min-height: 86px; padding-right: 88px; }
.has-project-mascot { position: relative; padding-right: 112px; min-height: 125px; }
.has-project-mascot > .project-mascot { top: 24px; right: 10px; width: 88px; height: 104px; }
.projects-page .projects-list-view .projects-card > .project-mascot { left: 17px; right: auto; top: 50%; width: 44px; height: 65px; transform: translateY(-50%); }

/* File types and characters have separate columns in the compact list. */
.projects-page .projects-list-view .indexed-project-card { grid-template-columns: 64px 48px minmax(120px,1fr) minmax(100px,1fr) auto; gap: 5px 16px; }
.projects-page .projects-list-view .indexed-project-card > .project-mascot { position: static; grid-column: 2; grid-row: 1/3; width: 48px; height: 64px; transform: none; }
.projects-page .projects-list-view .indexed-card-top { grid-column: 1; grid-row: 1/3; min-height: 70px; padding-right: 0; }
.projects-page .projects-list-view .indexed-project-card h3 { grid-column: 3; }
.projects-page .projects-list-view .indexed-card-path { grid-column: 3; }
.projects-page .projects-list-view .indexed-type-list { grid-column: 4; }
.projects-page .projects-list-view .indexed-card-footer { grid-column: 5; }
.projects-page .projects-list-view .file-partial-note { grid-column: 3/6; }
@media (max-width: 950px) {
  .projects-page .projects-list-view .indexed-project-card { grid-template-columns: 64px 44px minmax(0,1fr) auto; gap: 5px 12px; }
  .projects-page .projects-list-view .indexed-card-footer { grid-column: 4; }
  .projects-page .projects-list-view .file-partial-note { grid-column: 3/5; }
}
@media (max-width: 760px) {
  .projects-page .projects-list-view .projects-card > .project-mascot { left: 13px; top: 19px; width: 39px; height: 59px; transform: none; }
}
@media (max-width: 560px) {
  .has-project-mascot { padding-right: 75px; }
  .has-project-mascot > .project-mascot { width: 62px; height: 83px; right: 0; }
  .projects-page .projects-list-view .indexed-project-card { grid-template-columns: 42px 35px minmax(0,1fr) 44px; gap: 5px 9px; }
  .projects-page .projects-list-view .indexed-project-card > .project-mascot { width: 35px; height: 50px; }
  .projects-page .projects-list-view .indexed-card-top { min-height: 50px; }
  .projects-page .projects-list-view .indexed-card-top .file-badge { width: 42px; height: 50px; flex-basis: 42px; }
  .projects-page .projects-list-view .indexed-card-top .file-badge b { font-size: 8px; padding: 3px 4px; }
}
