/* Phase 11 — one motion language for every depth of PORTAL. */
html { scroll-behavior:smooth; }

:where(button,a,input,[tabindex]):focus-visible {
  outline:2px solid color-mix(in srgb,var(--color-red-bright) 78%,white 22%);
  outline-offset:4px;
  box-shadow:0 0 0 4px rgba(215,25,11,.12),0 0 22px rgba(215,25,11,.13);
}

.home-nav__link { transition:color var(--motion-fast) var(--ease-standard),text-shadow var(--motion-fast) var(--ease-standard); }
.home-nav__link::after { box-shadow:0 0 9px rgba(255,50,32,.45);transition:transform var(--motion-medium) var(--ease-enter); }
.home-nav__link:hover,.home-nav__link:focus-visible,.home-nav__link.is-current { text-shadow:0 0 14px rgba(255,255,255,.12); }

body.is-app .home-header { animation:portal-reveal var(--motion-medium) var(--ease-enter) both; }
body.is-app .home-hero__copy { animation:portal-rise var(--motion-slow) var(--ease-cinematic) 60ms both; }
body.is-app .home-hero__orbit { animation:portal-depth var(--motion-slow) var(--ease-cinematic) 100ms both; }
body.is-app .home-search { animation:portal-rise var(--motion-medium) var(--ease-enter) 160ms both; }
body.is-app .questions-heading { animation:portal-rise var(--motion-medium) var(--ease-enter) 220ms both; }
body.is-app .home-question-card { animation:portal-rise var(--motion-medium) var(--ease-enter) both; }
body.is-app .home-question-card:nth-child(1) { animation-delay:260ms; } body.is-app .home-question-card:nth-child(2) { animation-delay:300ms; } body.is-app .home-question-card:nth-child(3) { animation-delay:340ms; } body.is-app .home-question-card:nth-child(4) { animation-delay:380ms; } body.is-app .home-question-card:nth-child(5) { animation-delay:420ms; } body.is-app .home-question-card:nth-child(6) { animation-delay:460ms; }

.home-question-card { isolation:isolate; }
.home-question-card::after { position:absolute;inset:-35% -15%;z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 18% 20%,rgba(215,25,11,.11),transparent 38%);opacity:0;transform:translate3d(-3%,3%,0);transition:opacity var(--motion-medium),transform var(--motion-medium) var(--ease-enter); }
.home-question-card:hover::after,.home-question-card:focus-visible::after { opacity:1;transform:none; }
.home-question-card:hover .home-mini-poster,.home-question-card:focus-visible .home-mini-poster { border-color:rgba(255,255,255,.24); }
.home-question-card:active { transform:translateY(-1px);transition-duration:var(--motion-instant); }

.selected-view { animation:question-depth-in var(--motion-medium) var(--ease-cinematic) both; }
.selected-view .question-header { animation:portal-reveal var(--motion-medium) var(--ease-enter) both; }
.selected-view .question-hero > :not(.question-hero__ambient) { animation:portal-rise var(--motion-medium) var(--ease-enter) both; }
.selected-view .question-hero > :nth-child(2) { animation-delay:35ms; }.selected-view .question-hero > :nth-child(3) { animation-delay:80ms; }.selected-view .question-hero > :nth-child(4) { animation-delay:125ms; }
.selected-view .mechanism-card { animation:portal-rise var(--motion-medium) var(--ease-enter) both; }
.selected-view .mechanism-card:nth-child(1) { animation-delay:120ms; }.selected-view .mechanism-card:nth-child(2) { animation-delay:165ms; }.selected-view .mechanism-card:nth-child(3) { animation-delay:210ms; }.selected-view .mechanism-card:nth-child(4) { animation-delay:255ms; }

.mechanism-card::after { position:absolute;inset:0;content:"";pointer-events:none;border-left:2px solid var(--mechanism-color);opacity:0;transform:scaleY(.3);transform-origin:center;transition:opacity var(--motion-fast),transform var(--motion-medium) var(--ease-enter); }
.mechanism-card:hover::after,.mechanism-card:focus-visible::after,.mechanism-card.is-active::after { opacity:1;transform:scaleY(1); }
.mechanism-card:hover,.mechanism-card:focus-visible { transform:translateY(-4px);border-color:color-mix(in srgb,var(--mechanism-color) 65%,white 5%);box-shadow:var(--shadow-card),0 0 32px color-mix(in srgb,var(--mechanism-color) 10%,transparent); }
.mechanism-card__number { transition:color var(--motion-fast),text-shadow var(--motion-fast); }.mechanism-card:hover .mechanism-card__number,.mechanism-card:focus-visible .mechanism-card__number { color:var(--mechanism-color);text-shadow:0 0 12px color-mix(in srgb,var(--mechanism-color) 45%,transparent); }

.mechanism-view { animation:subportal-depth-in var(--motion-medium) var(--ease-cinematic) both; }
.mechanism-hero > :not(.mechanism-hero__depth) { animation:portal-rise var(--motion-medium) var(--ease-enter) both; }
.mechanism-hero__context { animation-delay:35ms!important; }.mechanism-hero__number { animation-delay:70ms!important; }.mechanism-hero h2 { animation-delay:105ms!important; }.mechanism-hero h3 { animation-delay:150ms!important; }.mechanism-hero__copy { animation-delay:195ms!important; }
.mechanism-hero__depth { animation:portal-depth var(--motion-slow) var(--ease-cinematic) both; }
.mechanism-step { opacity:0;animation:step-reveal var(--motion-medium) var(--ease-enter) both;transition:border-color var(--motion-fast),transform var(--motion-fast),background var(--motion-fast); }
.mechanism-step:nth-child(1) { animation-delay:80ms; }.mechanism-step:nth-child(2) { animation-delay:210ms; }.mechanism-step:nth-child(3) { animation-delay:340ms; }.mechanism-step:nth-child(4) { animation-delay:470ms; }.mechanism-step:nth-child(5) { animation-delay:600ms; }
.mechanism-step:hover { z-index:1;border-color:var(--subportal-accent);background:linear-gradient(180deg,color-mix(in srgb,var(--subportal-accent) 5%,transparent),transparent);transform:translateY(-3px); }.mechanism-step p { transition:color var(--motion-fast); }.mechanism-step:hover p { color:var(--color-text); }

.portal-movie-card,.search-movie-result,.explore-movie-card,.list-card { transition:transform var(--motion-medium) var(--ease-enter),opacity var(--motion-fast); }
.portal-movie-card__poster,.search-movie-result__poster,.explore-movie-card__poster,.list-card__poster { transition:transform var(--motion-medium) var(--ease-enter),border-color var(--motion-fast),box-shadow var(--motion-medium); }
.portal-movie-card__poster .cinema-image,.search-movie-result__poster .cinema-image,.explore-movie-card__poster .cinema-image,.list-card__poster .cinema-image { transform:scale(1.018);transition:opacity var(--motion-medium) var(--ease-enter),transform var(--motion-slow) var(--ease-cinematic); }
.portal-movie-card:hover,.portal-movie-card:focus-visible,.search-movie-result:hover,.search-movie-result:focus-within,.explore-movie-card:hover,.explore-movie-card:focus-within,.list-card:hover,.list-card:focus-within { transform:translateY(-4px); }
.portal-movie-card:hover .portal-movie-card__poster,.portal-movie-card:focus-visible .portal-movie-card__poster,.search-movie-result:hover .search-movie-result__poster,.search-movie-result:focus-within .search-movie-result__poster,.explore-movie-card:hover .explore-movie-card__poster,.explore-movie-card:focus-within .explore-movie-card__poster,.list-card:hover .list-card__poster,.list-card:focus-within .list-card__poster { border-color:rgba(255,255,255,.24);box-shadow:0 24px 55px rgba(0,0,0,.42),0 0 28px rgba(215,25,11,.08); }
.portal-movie-card:hover .cinema-image,.portal-movie-card:focus-visible .cinema-image,.search-movie-result:hover .cinema-image,.search-movie-result:focus-within .cinema-image,.explore-movie-card:hover .cinema-image,.explore-movie-card:focus-within .cinema-image,.list-card:hover .cinema-image,.list-card:focus-within .cinema-image { transform:scale(1.04); }
.cinema-image { transition:opacity var(--motion-medium) var(--ease-enter),transform var(--motion-slow) var(--ease-cinematic); }

.movie-view { animation:world-depth-in var(--motion-slow) var(--ease-cinematic) both; }
.movie-hero__backdrop.is-loaded { animation:backdrop-settle var(--motion-slow) var(--ease-cinematic) both; }
.movie-hero__art { animation:movie-art-enter var(--motion-slow) var(--ease-cinematic) both; }
.movie-hero__copy > * { animation:portal-rise var(--motion-medium) var(--ease-enter) both; }
.movie-hero__copy > :nth-child(1) { animation-delay:40ms; }.movie-hero__copy > :nth-child(2) { animation-delay:80ms; }.movie-hero__copy > :nth-child(3) { animation-delay:130ms; }.movie-hero__copy > :nth-child(4) { animation-delay:175ms; }.movie-hero__copy > :nth-child(5) { animation-delay:215ms; }.movie-hero__copy > :nth-child(6) { animation-delay:255ms; }
.movie-poster { transition:opacity var(--motion-medium) var(--ease-enter),transform var(--motion-medium) var(--ease-enter); }
.movie-save button { position:relative;overflow:hidden;transition:color var(--motion-fast),border-color var(--motion-fast),transform var(--motion-instant); }.movie-save button::after { position:absolute;right:0;bottom:-1px;left:0;height:1px;content:"";background:var(--world-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-medium) var(--ease-enter); }.movie-save button[aria-pressed="true"]::after { transform:scaleX(1); }.movie-save button:active { transform:translateY(1px); }.movie-save button.is-saved-feedback { animation:save-feedback var(--motion-medium) var(--ease-enter); }

.search-groups:not([hidden]) .search-group { animation:portal-rise var(--motion-medium) var(--ease-enter) both; }.search-groups:not([hidden]) .search-group:nth-child(2) { animation-delay:50ms; }.search-groups:not([hidden]) .search-group:nth-child(3) { animation-delay:100ms; }
.search-result { transition:transform var(--motion-fast),border-color var(--motion-fast),background var(--motion-fast); }.search-result:hover { transform:translateY(-3px);border-color:rgba(255,255,255,.18); }
.explore-movie-card { animation:result-refresh var(--motion-fast) var(--ease-enter) both; }.explore-movie-card:nth-child(2),.explore-movie-card:nth-child(6),.explore-movie-card:nth-child(10) { animation-delay:30ms; }.explore-movie-card:nth-child(3),.explore-movie-card:nth-child(7),.explore-movie-card:nth-child(11) { animation-delay:60ms; }.explore-movie-card:nth-child(4),.explore-movie-card:nth-child(8),.explore-movie-card:nth-child(12) { animation-delay:90ms; }
.active-filters button { animation:chip-enter var(--motion-fast) var(--ease-enter) both;transition:border-color var(--motion-fast),color var(--motion-fast),transform var(--motion-instant); }.active-filters button:hover { transform:translateY(-2px); }
.energy-options button:active,.filter-chips button:active { transform:translateY(1px);transition-duration:var(--motion-instant); }

.list-card { animation:portal-rise var(--motion-medium) var(--ease-enter) both; }.list-card:nth-child(2) { animation-delay:40ms; }.list-card:nth-child(3) { animation-delay:80ms; }.list-card:nth-child(4) { animation-delay:120ms; }.list-card:nth-child(n+5) { animation-delay:150ms; }
.list-card__remove { transition:color var(--motion-fast),border-color var(--motion-fast),transform var(--motion-instant); }.list-card__remove:active { transform:translateY(1px); }

.movie-breadcrumb button,.mechanism-breadcrumb button { position:relative; }.movie-breadcrumb button::after,.mechanism-breadcrumb button::after { position:absolute;right:0;bottom:.2rem;left:0;height:1px;content:"";background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--motion-fast) var(--ease-standard); }.movie-breadcrumb button:hover::after,.movie-breadcrumb button:focus-visible::after,.mechanism-breadcrumb button:hover::after,.mechanism-breadcrumb button:focus-visible::after { transform:scaleX(1);transform-origin:left; }

@keyframes portal-reveal { from { opacity:0; } to { opacity:1; } }
@keyframes portal-rise { from { opacity:0;transform:translate3d(0,12px,0); } to { opacity:1;transform:none; } }
@keyframes portal-depth { from { opacity:0;transform:scale(.985); } to { opacity:1;transform:none; } }
@keyframes question-depth-in { from { opacity:0;transform:scale(.992) translateY(8px); } to { opacity:1;transform:none; } }
@keyframes subportal-depth-in { from { opacity:0;transform:scale(.988) translateY(12px); } to { opacity:1;transform:none; } }
@keyframes world-depth-in { from { opacity:0;transform:scale(.985) translateY(14px); } to { opacity:1;transform:none; } }
@keyframes step-reveal { from { opacity:0;transform:translate3d(-8px,0,0);border-color:transparent; } to { opacity:1;transform:none;border-color:var(--color-border); } }
@keyframes movie-art-enter { from { opacity:.15;transform:scale(1.018) translateY(8px); } to { opacity:1;transform:none; } }
@keyframes backdrop-settle { from { opacity:0;transform:scale(1.025) translateY(-5px); } to { opacity:1;transform:none; } }
@keyframes save-feedback { 45% { color:var(--color-white);text-shadow:0 0 14px color-mix(in srgb,var(--world-accent) 55%,transparent); } }
@keyframes result-refresh { from { opacity:.3;transform:translateY(4px); } to { opacity:1;transform:none; } }
@keyframes chip-enter { from { opacity:0;transform:translateY(3px); } to { opacity:1;transform:none; } }

@media (max-width:768px) {
  body.is-app .home-question-card { animation-delay:100ms!important; }
  .movie-hero__copy > *,.mechanism-hero > :not(.mechanism-hero__depth),.selected-view .question-hero > :not(.question-hero__ambient) { animation-delay:0ms!important; }
  .portal-movie-card:hover,.search-movie-result:hover,.explore-movie-card:hover,.list-card:hover { transform:none; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important;animation-delay:0ms!important;scroll-behavior:auto!important; }
  .home-question-card,.home-mini-poster,.mechanism-card,.mechanism-step,.portal-movie-card,.search-movie-result,.explore-movie-card,.list-card,.portal-movie-card__poster,.search-movie-result__poster,.explore-movie-card__poster,.list-card__poster,.cinema-image,.movie-hero__art,.movie-poster { transform:none!important; }
  .cinema-image { transition:opacity 80ms linear!important; }
}
