/* V67: autonomous phosphor motion. Existing points only, no duplicated media.
   Sparse moving holes fade individual dots; the image beneath never blinks.
   Existing visibility classes pause every animation outside the viewport. */
.home-page .portrait-tool {
 width:60px;height:60px;pointer-events:auto;transition:scale 240ms ease;
 -webkit-mask-image:radial-gradient(circle,transparent .6px,#000 2px);
 mask-image:radial-gradient(circle,transparent .6px,#000 2px);
 -webkit-mask-size:12px 12px;mask-size:12px 12px;
 animation:portrait-tool-drift 5.5s ease-in-out infinite,phosphor-dots 6.5s linear infinite;
 animation-play-state:paused;
}
.home-page .tool-figma { animation-delay:-1.8s,-2.1s; }
.home-page .tool-claude { animation-delay:-3.7s,-4.3s; }
.home-page .portrait-tools.is-floating .portrait-tool { animation-play-state:running; }
@keyframes portrait-tool-drift {
 0%,100% { translate:-2px 1px;rotate:-5deg; }
 50% { translate:3px -10px;rotate:5deg; }
}
@keyframes phosphor-dots {
 0% { -webkit-mask-position:0 0;mask-position:0 0; }
 50% { -webkit-mask-position:6px 12px;mask-position:6px 12px; }
 100% { -webkit-mask-position:12px 24px;mask-position:12px 24px; }
}
.home-page :is(.home-feature-image,.home-folder-preview,.category-project-image)::before,
.rentals-case .rental-image.zoom-button::before {
 inset:-4px;
 -webkit-mask-image:radial-gradient(circle,transparent 1px,#000 3px);
 mask-image:radial-gradient(circle,transparent 1px,#000 3px);
 -webkit-mask-size:16px 16px;mask-size:16px 16px;
 animation:screen-phosphor-wave 7s ease-in-out infinite;
 animation-play-state:paused;
}
.home-page :is(.home-feature-image,.home-folder-preview,.category-project-image).screen-visible::before,
.rentals-case .rental-image.zoom-button.screen-visible::before { animation-play-state:running; }
@keyframes screen-phosphor-wave {
 0%,100% { transform:translate(-1px,0);-webkit-mask-position:0 0;mask-position:0 0; }
 50% { transform:translate(1px,2px);-webkit-mask-position:8px 12px;mask-position:8px 12px; }
}
/* Preserve the existing single press acknowledgement instead of stacking it. */
.home-page :is(.home-feature-image,.home-folder-preview,.category-project-image).screen-pulse::before,
.rentals-case .rental-image.zoom-button.screen-pulse::before { animation:media-screen-pulse 200ms ease-out 1; }
.glass-fragments .portrait-tool,
.glass-fragments :is(.home-feature-image,.home-folder-preview,.category-project-image,.rental-image.zoom-button)::before { animation:none!important; }
@media(prefers-reduced-motion:reduce){
 .home-page .portrait-tool,
 .home-page :is(.home-feature-image,.home-folder-preview,.category-project-image)::before,
 .rentals-case .rental-image.zoom-button::before { animation:none!important;transform:none;-webkit-mask-image:none;mask-image:none; }
}

/* Larger marks stay inside the portrait track; normal text gaps remain intact. */
.home-page .portrait-tools { left:5%;width:90%;height:60px;bottom:calc(100% + 5px); }
.home-page .home-profile>.home-tab { font-size:clamp(16px,4.8vw,20px);line-height:1.1;padding-inline:12px;white-space:normal; }
@media(max-width:700px){.home-page .portrait-tool { width:56px;height:56px; }}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .home-page .portrait-tools.is-floating .portrait-tool:hover { scale:1.14; }
}
