/* Personal tools: detailed, readable scenes with a discreet workflow animation. */
.personal-project-visual { background: radial-gradient(ellipse at center, #39445622, transparent 75%); }
.personal-overview { width: 100%; height: auto; max-height: 100%; flex: none; display: block; }
.project-scribiamap { --card-accent: #dfc29c; }
.project-maison { --card-accent: #a8cbb5; }
.project-clair { --card-accent: #87bee0; }
.personal-overview .personal-signal { stroke-dasharray: 12 88; stroke-dashoffset: 100; animation: personal-data-flow 9s linear infinite; }
.personal-overview .delay-signal { animation-delay: -4.5s; }
.personal-overview .map-cursor { animation: personal-map-cursor 9s ease-in-out infinite; }
.personal-overview .maison-lamp-glow { animation: personal-lamp-light 9s ease-in-out infinite; }
.lab-card:not(.in-view) .personal-overview *, .is-background .personal-overview *, body:has(#case-dialog[open]) .personal-overview * { animation-play-state: paused; }
@keyframes personal-data-flow { 0%, 9% { opacity:0; stroke-dashoffset:100; } 12% { opacity:1; } 43% { opacity:1; stroke-dashoffset:0; } 48%, 100% { opacity:0; stroke-dashoffset:0; } }
@keyframes personal-map-cursor { 0%, 12%, 100% { transform:translate(0,0); } 32%, 70% { transform:translate(12px,-10px); } }
@keyframes personal-lamp-light { 0%, 20%, 100% { opacity:.26; } 35%, 65% { opacity:.62; } }
@media (prefers-reduced-motion: reduce) { .personal-overview * { animation:none !important; } .personal-overview .personal-signal { display:none; } }
