/* Fulgor CRT: each source retains its color and crisp center. No curved viewport,
   bezel, giant blur, screen overlay, extra animation loop or duplicated media. */
.crt-phosphor-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
/* Text emission is opt-in: prose, descriptions, lists and metadata stay crisp. */
html.crt-fulgor-on:not(.intro-active):not(.intro-entering) .portfolio{text-shadow:none}
html.crt-fulgor-on:not(.intro-active):not(.intro-entering) .portfolio :is(h1,h2,h3,h4,h5,h6,.home-roles,.rental-file-label,.instrument-title,#cv-window-heading,.home-file-label,.home-tab,.home-feature-title,.home-folder-title,.category-project-title,.home-folder-tab,.eyebrow,.headline-cursor,.identity-check,.signal-counter,.ambient-readouts b,.instrument-value,.cv-window-title,.home-breadcrumb,.category-title-line){text-shadow:0 0 3px color-mix(in srgb,currentColor 65%,transparent),0 0 12px color-mix(in srgb,currentColor 35%,transparent),0 0 24px color-mix(in srgb,currentColor 15%,transparent)}
html.crt-fulgor-on:not(.intro-active):not(.intro-entering) .portfolio :is(.nav-link,.home-social-link,.contact-link,.home-folder-open,.home-open-label,.cv-download,.profile-more){text-shadow:0 0 7px color-mix(in srgb,currentColor 48%,transparent)}
html.crt-fulgor-on:not(.intro-active):not(.intro-entering) .portfolio :is(.file-scan svg,.instrument-wave svg,.ambient-response,.ambient-orbit,.ambient-radar,.ambient-telemetry svg,.ambient-metrics svg,.terminal-ambient>svg,.nav-link svg,.identity-mark svg){filter:drop-shadow(0 0 2px currentColor) drop-shadow(0 0 7px color-mix(in srgb,currentColor 55%,transparent))}
/* Emit only from visible frames. Chapter wrappers include transparent spacing
   above each folder and must never cast a rectangular glow through that gap. */
html.crt-fulgor-on:not(.intro-active):not(.intro-entering) .portfolio :is(.home-file,.home-folder,.cv-floating,.rental-file-frame){box-shadow:0 0 3px color-mix(in srgb,var(--line) 45%,transparent),0 0 12px color-mix(in srgb,var(--yellow) 9%,transparent)}
html.crt-fulgor-on:not(.intro-active):not(.intro-entering) .portfolio :is(.home-feature-image,.home-folder-preview,.category-project-image,.rental-image.zoom-button){box-shadow:0 0 3px color-mix(in srgb,var(--yellow) 55%,transparent),0 0 13px color-mix(in srgb,var(--yellow) 17%,transparent)}
/* Artwork pixels stay untouched. Only the exterior frame emits light. */
html.crt-fulgor-on:not(.intro-active):not(.intro-entering) .portfolio :is(.home-portrait canvas,.portrait-dither,.about-glasses canvas,.about-glasses-canvas,.portrait-tools){filter:url(#crt-dither-emission)}
html.crt-fulgor-on:not(.intro-active):not(.intro-entering) .portfolio :is(.instrument-bars i,.scan-segments i,.cv-signal i){box-shadow:0 0 6px color-mix(in srgb,currentColor 55%,transparent)}
/* Keep the replay control and its 44px touch target in the existing footer layout. */
.portfolio .site-footer>.footer-screen-controls{display:flex;width:auto;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:0}
.portfolio .footer-screen-controls>button{min-height:44px;padding:8px 0}
@media(max-width:700px){.portfolio .site-footer>.footer-screen-controls{gap:8px 16px;max-width:100%}}
